using Aitex.Core.RT.Log; using Aitex.Core.Util; using Prism.Ioc; using Prism.Modularity; using Prism.Services.Dialogs; using Prism.Unity; using System; using System.Threading; using System.Windows; using Venus_MainPages.Roles; using Venus_MainPages.Views; using Venus_UI.Views; using WPF.Themes.UserControls; namespace Venus_UI { /// /// App.xaml 的交互逻辑 /// public partial class App : PrismApplication { System.Threading.Mutex mutex; public static User CurrentUser=new User ("admin","admin",Role.Manager); protected override void OnStartup(StartupEventArgs e) { bool ret; mutex = new System.Threading.Mutex(true, "Venus_UI", out ret); if (!ret) { WPFMessageBox.ShowError("Only One Venus_UI is allowed"); Environment.Exit(0); } FrameworkCompatibilityPreferences.KeepTextBoxDisplaySynchronizedWithTextProperty = false; DispatcherUnhandledException += App_DispatcherUnhandledException; Singleton.Instance.Initialize(); //ShellView shellView = new ShellView(); LoginView loginView = new LoginView(); loginView.ShowDialog(); CurrentUser = loginView.CurrentUser; if (!loginView.IsLoginSuccess) { Current.Shutdown(); return; } base.OnStartup(e); } void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) { //MessageBox.Show("程序异常." + Environment.NewLine + e.Exception.Message); e.Handled = true; } protected override Window CreateShell() { return Container.Resolve(); } protected override void RegisterTypes(IContainerRegistry containerRegistry) { } protected override IModuleCatalog CreateModuleCatalog() { return new ConfigurationModuleCatalog(); } } }