我希望在WPF中只有一个窗口实例。
我的窗口代码:
public static bool IsOpen { get; private set; }
private void Window_Loaded(object sender, RoutedEventArgs e)
{
IsOpen = true;
}
private void Window_Unloaded(object sender, RoutedEventArgs e)
{
IsOpen = false;
}
我在open函数中的代码
if (MyWindow!= null)
{
if (MyWindowName.IsOpen)
{
MyWindow.Activate();
}
else
{
MyWindow.Close();
MyWindow= null;
}
}
if (MyWindow!= null) return;
MyWindow= new MyWindowName();
MyWindow.Show();
MyWindow.Activate();
但是如果我快速点击3-5次,我能够打开许多窗口实例。
谢谢
IsOpen
属性,因为Window.IsLoaded
可以给你完全相同的结果。 - dkozl