gpt4 book ai didi

c# - 识别窗口实例是否已经打开

转载 作者:可可西里 更新时间:2023-11-01 11:28:27 25 4
gpt4 key购买 nike

我正在构建一个 WPF 聊天应用程序。当用户单击聊天列表中的用户名时,我将打开一个新的聊天窗口。如果用户单击聊天列表中的另一个用户名,则会打开一个新的聊天窗口实例。这里的问题是如何检查该用户聊天窗口是否已经打开以附加传入的聊天。是否有与每个窗口关联的唯一 ID?如果是,那么我如何检查该特定窗口是否打开。

当用户点击用户名时创建聊天窗口新实例的代码:

private void UsersChatWith_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
if (UsersChatWith.SelectedItem != null)
{
var SelItm = UsersChatWith.SelectedItem;
ChatToUserid = ((UserDetail)(SelItm)).UserId;
ChatToUserName = ((UserDetail)(SelItm)).User_FirstName;
}
// UserPersonalChatPopUp.IsOpen = true;
UserPersonalChatWindow chatwin = new UserPersonalChatWindow();
chatwin.Title = ChatToUserName;
chatwin.StaffUserId.Content = ChatToUserid;
chatwin.Show();
}

在这里每次我点击任何用户然后打开新的聊天窗口。我需要知道在创建聊天窗口的新实例之前我可以检查的条件(如果尚未创建和打开)。请建议。

最佳答案

您可以遍历当前窗口以确定是否存在。

var window = Application.Current.Windows.OfType<UserPersonalChatWindow>()
.FirstOrDefault(x => x.StaffUserId.Content == id);

关于c# - 识别窗口实例是否已经打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27702487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com