我正在尝试在我的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));
}
答案 0 :(得分:2)
您正在传递Window.Title
,但是在IsWindowOpen
函数中,您尝试匹配Window.Name