我想在我的WPF窗口未打开时运行一段代码。以下代码无法正常工作,请检查并让我知道我做错了什么。如何确定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));
}
什么是与代码的问题? – Pikoh
即使我的窗户打开,其运行但布尔是假的... –
我假设您正在搜索的wpf窗口是同一个应用程序的一部分。那个窗口的类名是什么? – Pikoh