App.xaml.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using EEMSUIClient.Services;
  2. using EEMSUIClient.Views;
  3. using Hardcodet.Wpf.TaskbarNotification;
  4. using System.Windows;
  5. namespace EEMSUIClient;
  6. /// <summary>
  7. /// Interaction logic for App.xaml
  8. /// </summary>
  9. public partial class App : PrismApplication
  10. {
  11. protected override Window CreateShell()
  12. {
  13. return Container.Resolve<MainWindow>();
  14. }
  15. protected override void RegisterTypes(IContainerRegistry containerRegistry)
  16. {
  17. containerRegistry.RegisterSingleton<ITrayControl, TrayController>();
  18. containerRegistry.RegisterSingleton<IClientService, ClientService>();
  19. }
  20. protected override void OnInitialized()
  21. {
  22. base.OnInitialized();
  23. Container.Resolve<ITrayControl>().Tray = (TaskbarIcon)App.Current.FindResource("TrayIcon");
  24. Container.Resolve<ITrayControl>().ShowBalloonTip();
  25. }
  26. private void TrayIcon_TrayMouseDoubleClick(object sender, RoutedEventArgs e)
  27. {
  28. Container.Resolve<ITrayControl>().ShowMainWindow();
  29. }
  30. private void ShowMenu_Click(object sender, RoutedEventArgs e)
  31. {
  32. Container.Resolve<ITrayControl>().ShowMainWindow();
  33. }
  34. private void ExitMenu_Click(object sender, RoutedEventArgs e)
  35. {
  36. Container.Resolve<ITrayControl>().Exit();
  37. }
  38. private void OnExit(object sender, ExitEventArgs e)
  39. {
  40. Container.Resolve<IClientService>().Dispose();
  41. Container.Resolve<ITrayControl>().Dispose();
  42. }
  43. }