2014-02-01 2 views
0

У меня проблема с моим приложением. Я выбрал свой Loadscreen.xaml как «StartupUri» в своем App.xaml. В Loadscreen.xaml.cs содержится индикатор прогресса, который работает до 100% - чем он закрывается и открывает MainWindow. Проблема заключается в том, что он дважды открывает MainWindow после закрытия Loadscreen. Какая моя ошибка?MainWindow открывается дважды (StartupUri, App, Loadscreen)

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(); 
     } 

общественная пустота 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(); 
     } 
    } 

ответ

5

Вы открываете два экземпляра Loadscreen:

  • Один с StartupUri="Loadscreen.xaml"
  • Другой один из Application_Startup, который называется из-Startup="Application_Startup".

Просто избавитесь от StartupUri="Loadscreen.xaml", и проблема не исчезнет.

+0

Спасибо, это сработало. Но так, MUTEX больше не работает. Если я запустил приложение еще раз, нет сообщения об ошибке, в котором говорится, что приложение уже запущено. – gpuk360

+0

@Exception Вы удалили «StartupUri» и сохранили «Startup»? –

+0

Да. Но теперь это работает. Я просто пытаюсь исправить некоторые вещи. Спасибо за вашу помощь. – gpuk360