App.xaml.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using LampInspectionMachine.Core;
  2. using LampInspectionMachine.Log4xml;
  3. using LampInspectionMachine.Model;
  4. using LampInspectionMachine.Properties;
  5. using LampInspectionMachine.Resources.Language;
  6. using LampInspectionMachine.Views;
  7. using log4net.Config;
  8. using Prism.Ioc;
  9. using Prism.Unity;
  10. using System;
  11. using System.ComponentModel;
  12. using System.Globalization;
  13. using System.IO;
  14. using System.Threading;
  15. using System.Windows;
  16. using WPFLocalizeExtension.Engine;
  17. namespace LampInspectionMachine
  18. {
  19. /// <summary>
  20. /// App.xaml 的交互逻辑
  21. /// </summary>
  22. public partial class App : PrismApplication
  23. {
  24. protected override Window CreateShell()
  25. {
  26. //XmlConfigurator.Configure(new FileInfo("Log4xml/log4net.config"));
  27. LogHelper.Info("程序启动");
  28. return Container.Resolve<MainWindow>();
  29. }
  30. protected override void RegisterTypes(IContainerRegistry containerRegistry)
  31. {
  32. containerRegistry.RegisterForNavigation<RoleLoginView>("RoleLoginView");
  33. containerRegistry.RegisterForNavigation<MenuView>("MenuView");
  34. containerRegistry.RegisterForNavigation<ProductView>("ProductView");
  35. containerRegistry.RegisterForNavigation<SettingView>("SettingView");
  36. containerRegistry.RegisterForNavigation<WorkRunView>("WorkRunView");
  37. containerRegistry.RegisterForNavigation<VisionProView>("VisionProView");
  38. containerRegistry.RegisterForNavigation<VisionProView>("VisionProView");
  39. containerRegistry.RegisterSingleton<AppData>();
  40. containerRegistry.RegisterSingleton<Management>();
  41. containerRegistry.RegisterForNavigation<CameraView>("CameraView");
  42. }
  43. private static System.Threading.Mutex mutex;
  44. protected override void OnStartup(StartupEventArgs e)
  45. {
  46. //var view = new LoginView();
  47. //if (!(bool)view.ShowDialog())
  48. //{
  49. // this.Shutdown();
  50. //}
  51. mutex = new System.Threading.Mutex(true, "OnlyRun_CRNS");
  52. if (mutex.WaitOne(0, false))
  53. {
  54. try
  55. {
  56. string language= FileHelper.ReadFile(FilePath.LanguageConfigurationPath);
  57. if ( language == "en" )
  58. {
  59. var culture = new CultureInfo("en");
  60. App.Current.Dispatcher.Thread.CurrentCulture = culture;
  61. App.Current.Dispatcher.Thread.CurrentUICulture = culture;
  62. LocalizeDictionary.Instance.Culture = culture;
  63. LampInspectionMachine.Resources.Language.Resources.Culture = culture;
  64. }
  65. }
  66. catch (Exception ex )
  67. {
  68. FileHelper.WriteFile("en",FilePath.LanguageConfigurationPath);
  69. }
  70. base.OnStartup(e);
  71. }
  72. else
  73. {
  74. MessageBox.Show("程序已经在运行!", "提示");
  75. this.Shutdown();
  76. }
  77. }
  78. }
  79. }