我确定这是重复的,但我找不到答案。
我有一个名为 Popup 的 WPF 窗口(所以我有 Popup.Xaml、Popup.Xaml.cs)。有没有办法确定这个类是否有一个活动的(可见的)窗口实例?我需要检查弹出窗口当前是否可见,如果弹出窗口当前可见,则跳过在不同的类(没有与之关联的 UI 控件的类)中执行一些操作。
谢谢,
if (Application.Current.Windows.OfType<YourWindowType>().Any(x => x.IsActive))
{
//... etc
}
当您创建 Popup 时,只需创建全局变量public static bool isPopupVisible = true
(例如 App 类中的 ex)。然后你必须处理事件关闭 Popup 和 changed isPopupVisible = false
。就这样。仅在需要时检查此变量。