gpt4 book ai didi

c# - 如何检查任何 ContentDialog 是否打开?

转载 作者:太空狗 更新时间:2023-10-30 00:29:35 25 4
gpt4 key购买 nike

所以我们一次只能打开一个内容对话框。这可以。但是在我的应用程序中有几个可以打开的内容对话框,我想避免创建自己的变量,因为我可能会忘记将它添加到某处,整个应用程序将崩溃(因为尝试打开第二个内容对话框会抛出异常) .

所以我的问题是:如何检查任何 ContentDialog 是否打开?

注意:

  1. 我不想检查特定的 ContentDialog。
  2. 我想避免创建自己的变量。

最佳答案

ContentDialog 显示在 PopupRoot 中,因此使用 VisualTreeHelper.GetOpenPopups() 将帮助您获得它。

var openedpopups = VisualTreeHelper.GetOpenPopups(Window.Current);
foreach (var popup in openedpopups)
{
if(popup.Child is ContentDialog)
{
//some content dialog is open.
}
}

关于c# - 如何检查任何 ContentDialog 是否打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53996104/

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