获取XAML类的实例

时间:2013-04-30 13:24:54

标签: c# wpf

我确信这是重复的,但我找不到答案。

我有一个名为Popup的WPF窗口(所以我有Popup.Xaml,Popup.Xaml.cs)。 有没有办法确定是否存在此类的活动(可见)窗口实例? 我需要检查弹出窗口当前是否可见,如果弹出窗口当前可见,则跳过在不同类(没有与之关联的UI控件的类)中执行某些操作。

感谢,

2 个答案:

答案 0 :(得分:2)

if (Application.Current.Windows.OfType<YourWindowType>().Any(x => x.IsActive))
{
   //... etc
}

答案 1 :(得分:1)

创建Popup时,只需创建全局变量public static bool isPopupVisible = true(对于App类中的ex)。然后,您必须处理事件关闭Popup并更改isPopupVisible = false。就这样。只在需要时检查此变量。