using System.Linq; using System.Reflection; using System; using System.Windows; using Prism.DryIoc; using Prism.Events; using Prism.Ioc; using Prism.Services.Dialogs; using SWS.CAD.ViewModels; using SWS.CAD.Views; using SWS.CAD.Views.Dialog; using SWS.Commons; using SWS.Service; using SWS.WPF.ViewModels; using SWS.WPF.Views; using Telerik.Windows.Controls; using Unity; namespace SWS.CAD { public class Start { public static void RegisterTypes() { try { GlobalObject.container = new UnityContainer(); // 启用诊断 GlobalObject.container.AddExtension(new Diagnostic()); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); //GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject._prismContainer = new DryIocContainerExtension(); GlobalObject._prismContainer.Register(); GlobalObject._prismContainer.Register(); //后者类似于一个容器。给所有需要的dialog所用 GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); } catch (System.Exception ex) { // 记录异常详细信息 MessageBox.Show($"启动时发生错误: {ex.ToString()}", "错误", MessageBoxButton.OK, MessageBoxImage.Error); } GlobalObject._prismContainer = new DryIocContainerExtension(); GlobalObject._prismContainer.Register(); GlobalObject._prismContainer.Register(); //后者类似于一个容器。给所有需要的dialog所用 GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); } } }