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
ウィンドウが開いていても実行中ですが、ブール値はfalseです。 –
検索しているwpfウィンドウが同じアプリケーションの一部であると仮定します。その窓のクラスの名前は何ですか? – Pikoh