Чтобы сделать MainWindow
синглтоном, необходимо выполнить следующие шаги: Добавить MainWindow
Instance
к MainWindow
классу ...
public static MainWindow Instance { get; private set; }
Примечание: установить средство доступаявляется частным, так что никто другой не может установить его на что-либо еще.
Добавьте статический конструктор в MainWindow
и сделайте конструктор из MainWindow
private
, например так ...
static MainWindow()
{
Instance = new MainWindow();
}
private MainWindow()
{
InitializeComponent();
}
Теперь удалите StartupUri="MainWindow.xaml"
из вашего App.xaml
файл, чтобы при запуске приложения окно по умолчанию не запускалось.Перехватите событие запуска вашего класса App в файле App.xaml.cs следующим образом:
public App()
{
...
Startup += App_Startup;
...
}
void App_Startup(object sender, StartupEventArgs e)
{
TestApp.MainWindow.Instance.Show();
}