我想在我的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