Как отображать курсор ожидания во время запуска приложения WPF?

Вот основные события, которые я хочу получить при запуске моего приложения WPF. Это очень похоже на то, как Word запускается на моем компьютере.

  1. Показать занятый курсор.
  2. Выполните базовую инициализацию. Это занимает пару секунд и должно быть выполнено до отображения заставки.
  3. Показать заставку. Этот экран-заставка отображает прогресс в дополнительной -инициализации глубины и может занять некоторое время (кэширование информации из базы данных ).
  4. Отобразить курсор по умолчанию. Поскольку теперь на экране-заставке отображается прогресс, нет необходимости отображать занятый курсор.
  5. После завершения заставки отобразите главное окно.
  6. Закройте заставку.

Все работает нормально, за исключением отображения занятого курсора перед отображением заставки. Когда я запускаю приложение через ярлык, курсор ожидания мигает, но вскоре возвращается к значению по умолчанию. Я пробовал разные способы установки курсора, но ни один из них не работает, но я думаю, что проблема в том, что я не в элементе управления/окне --. Я делаю это из App.xaml.cs. И свойства, которые я устанавливаю, кажутся свойствами Windows Forms. Вот отрывок из моего кода в App.xaml.cs.

protected override void OnStartup(StartupEventArgs e)
{
  base.OnStartup(e);

  System.Windows.Forms.Application.UseWaitCursor = true;
  //System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
  //System.Windows.Forms.Application.DoEvents();

  Initialize();

  SplashWindow splash = new SplashWindow();
  splash.Show();

  System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;

  // Right now I'm showing main window right after splash screen but I will eventually wait until splash screen closes.
  MainWindow main = new MainWindow();
  main.Show();
}
18
задан bsh152s 13 June 2012 в 18:49
поделиться