MainWindow открывается дважды (StartupUri, App, Loadscreen)
У меня проблема с моим заявлением. Я выбрал свой Loadscreen.xaml в качестве "StartupUri" в моем App.xaml. Loadscreen.xaml.cs содержит индикатор выполнения, который работает до 100% - затем он закрывается и открывает MainWindow. Проблема в том, что он открывает MainWindow дважды после закрытия экрана загрузки. В чем моя ошибка?
App.xaml:
StartupUri="Loadscreen.xaml"
Startup="Application_Startup">
Loadscreen.xaml.cs:
public void Timer_Tick(object sender, EventArgs e)
{
progressBar_Ladebalken.Value = i;
label_Titel.Content = i + "%";
Mouse.OverrideCursor = Cursors.Wait;
if (i < 100)
{
i += 1;
}
else
{
i = 0;
Mouse.OverrideCursor = null;
Timer.Stop();
Window W = new MainWindow();
W.Show();
this.Close();
}
public void Application_Startup:
public void Application_Startup(object sender, StartupEventArgs e)
{
bool Absicherung;
Mutex Mutex = new Mutex(true, this.GetType().GUID.ToString(), out Absicherung);
if (Absicherung)
{
Window W = new Loadscreen();
W.Closed += (sender2, args) => Mutex.Close(); ;
W.Show();
}
else
{
MessageBox.Show(FM_Mutex_Meldung, FM_Mutex_Titelleiste, MessageBoxButton.OK, MessageBoxImage.Information);
Mutex.Close();
Application.Current.Shutdown();
}
}
1 ответ
Решение
Вы открываете два экземпляра Loadscreen
:
- Один с
StartupUri="Loadscreen.xaml"
- Другой из
Application_Startup
который называется из-заStartup="Application_Startup"
,
Просто избавься от StartupUri="Loadscreen.xaml"
и проблема должна исчезнуть.