如何确定WPF窗口是否打开?

时间:2017-02-13 11:52:05

标签: c# wpf windows

我正在尝试在我的WPF窗口未打开时运行一段代码。以下代码无效,请检查并让我知道我在哪里做错了。

var window = IsWindowOpen<Window>(this.Title);
if(window)
{
    //do something
}
else
{
    // My code block                
}         
public static bool IsWindowOpen<T>(string name = null) where T : Window
{
    var windows = Application.Current.Windows.OfType<T>();
    return string.IsNullOrEmpty(name) ? 
        Application.Current.Windows.OfType<T>().Any() : 
        Application.Current.Windows.OfType<T>().Any(w => w.Name.Equals(name));
}

1 个答案:

答案 0 :(得分:2)

您正在传递Window.Title,但是在IsWindowOpen函数中,您尝试匹配Window.Name