0
別のページ(認証)に移動するために、新しいウィンドウとフレームをプログラムで作成しました。ウィンドウを閉じると、何かしたいですが、if
ステートメントは決してfalseを返すことはありません。ウィンドウが開いていないか確認する
Window newWindow = new Window();
Page authentication = new Authentication();
Frame newFrame = new Frame();
newWindow.Title = "Authentication";
newWindow.Content = newFrame;
newFrame.NavigationService.Navigate(authentication);
newWindow.Show();
if (IsWindowOpen<Window>("Authentication") == false)
{
//DO THINGS HERE
}
これは私のIsWindowOpen
方法であって、
public static bool IsWindowOpen<T>(string name = null) where T : Window
{
return string.IsNullOrEmpty(name)
? Application.Current.Windows.OfType<T>().Any()
: Application.Current.Windows.OfType<T>().Any(w => w.Title.Equals(name));
}
私は、新しいウィンドウを開いて、別のページを実行するために管理しますが、何も閉じていない時に起こります。チェックするためにif文に印字行を追加しましたが、印字しません。