添加项目文件。
This commit is contained in:
149
CapMachine.Wpf/App.xaml.cs
Normal file
149
CapMachine.Wpf/App.xaml.cs
Normal file
@@ -0,0 +1,149 @@
|
||||
using AutoMapper;
|
||||
using CapMachine.Core.IService;
|
||||
using CapMachine.Wpf.MapperProfile;
|
||||
using CapMachine.Wpf.Services;
|
||||
using CapMachine.Wpf.ViewModels;
|
||||
using CapMachine.Wpf.Views;
|
||||
using FreeSql;
|
||||
using Prism.DryIoc;
|
||||
using Prism.Ioc;
|
||||
using Prism.Regions;
|
||||
using System.Windows;
|
||||
|
||||
namespace CapMachine.Wpf
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : PrismApplication
|
||||
{
|
||||
public App()
|
||||
{
|
||||
try
|
||||
{
|
||||
//24.2.7
|
||||
//Syncfusion.SfSkinManager.SfSkinManager.ApplyStylesOnApplication = true;
|
||||
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("MzEyMzM3NkAzMjM0MmUzMDJlMzBHdjVKNUNpNWZxYXQwR05ZbVYvUEtzbGxXMnVxRjYvRGtLSlZUOGpjQW44PQ==");
|
||||
|
||||
// 授权 a717c797-59e3-48de-b6b4-574a4e03dc79
|
||||
if (!HslCommunication.Authorization.SetAuthorizationCode("a717c797-59e3-48de-b6b4-574a4e03dc79"))
|
||||
{
|
||||
//active failed
|
||||
//MessageBox.Show("授权失败!当前程序只能使用8小时!");
|
||||
//return;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//IsActive = true;
|
||||
}
|
||||
|
||||
//SfSkinManager.ApplyStylesOnApplication = true;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
protected override Window CreateShell() => null;
|
||||
|
||||
|
||||
protected override void RegisterTypes(IContainerRegistry containerRegistry)
|
||||
{
|
||||
////注册日志服务
|
||||
//containerRegistry.RegisterSingleton<ILogService, LogService>();
|
||||
|
||||
////注册设备服务
|
||||
//containerRegistry.RegisterSingleton<MachineDataService>();
|
||||
containerRegistry.RegisterSingleton<PlcRtDataService>();
|
||||
|
||||
//注册AutoMapper 将IAutoMapperProvider注入IOC容器,并对外提供IMapper注入类型。
|
||||
containerRegistry.RegisterSingleton<IMapperProvider, MapperConfig>();
|
||||
containerRegistry.Register(typeof(IMapper), GetMapper);
|
||||
|
||||
//注册IFreeSql实例 单例
|
||||
containerRegistry.RegisterSingleton<IFreeSql>(() =>
|
||||
{
|
||||
IFreeSql Fsql = new FreeSqlBuilder()
|
||||
//.UseConnectionString(DataType.SqlServer, "Data Source=CT-PC;user instance=false;Initial Catalog=KylinEMS;Encrypt=True;TrustServerCertificate=True;User ID=sa;Password=12345678")
|
||||
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=CT-PC;user instance=false;Initial Catalog=CapMachine;Encrypt=True;TrustServerCertificate=True;User ID=sa;Password=12345678")
|
||||
.UseAutoSyncStructure(true)
|
||||
.Build();
|
||||
return Fsql;
|
||||
});
|
||||
|
||||
containerRegistry.RegisterSingleton<INavigationMenuService, NavigationMenuService>();
|
||||
containerRegistry.RegisterForNavigation<MainView, MainViewModel>();
|
||||
containerRegistry.RegisterForNavigation<MonitorView, MonitorViewModel>();
|
||||
containerRegistry.RegisterForNavigation<ProConfigView, ProConfigViewModel>();
|
||||
containerRegistry.RegisterForNavigation<RealTimeChartView, RealTimeChartViewModel>();
|
||||
//containerRegistry.RegisterForNavigation<ProChartView, ProChartViewModel>();
|
||||
//containerRegistry.RegisterForNavigation<ProConfigView, ProConfigViewModel>();
|
||||
|
||||
//注册Dialog视图时绑定VM
|
||||
containerRegistry.RegisterDialog<DialogCreateProView, DialogCreateProViewModel>();
|
||||
containerRegistry.RegisterDialog<DialogEditProView, DialogEditProViewModel>();
|
||||
containerRegistry.RegisterDialog<DialogChartRtConfigView, DialogChartRtConfigViewModel>();
|
||||
|
||||
//注册AutoMapper
|
||||
//containerRegistry.RegisterSingleton<IAutoMapperProvider, AutoMapperProvider>();
|
||||
//containerRegistry.Register(typeof(IMapper), GetMapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//private IMapper GetMapper(IContainerProvider container)
|
||||
//{
|
||||
// var provider = container.Resolve<IAutoMapperProvider>();
|
||||
// return provider.GetMapper();
|
||||
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 将IAutoMapperProvider注入IOC容器,并对外提供IMapper注入类型。
|
||||
/// </summary>
|
||||
/// <param name="container"></param>
|
||||
/// <returns></returns>
|
||||
private IMapper GetMapper(IContainerProvider container)
|
||||
{
|
||||
var provider = container.Resolve<IMapperProvider>();
|
||||
return provider.GetMapper();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 系统初始化
|
||||
/// </summary>
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
//从容器中获取MainView的实例对象
|
||||
var container = ContainerLocator.Container;
|
||||
var shell = container.Resolve<object>("MainView");
|
||||
if (shell is Window view)
|
||||
{
|
||||
//更新Prism注册区域信息
|
||||
var regionManager = container.Resolve<IRegionManager>();
|
||||
RegionManager.SetRegionManager(view, regionManager);
|
||||
RegionManager.UpdateRegions();
|
||||
|
||||
//调用首页的INavigationAware 接口做一个初始化操作
|
||||
if (view.DataContext is INavigationAware navigationAware)
|
||||
{
|
||||
navigationAware.OnNavigatedTo(null);
|
||||
//呈现首页
|
||||
App.Current.MainWindow = view;
|
||||
}
|
||||
}
|
||||
|
||||
//先加载服务,防止在ViewModel中使用时速度慢
|
||||
var appVersionService = ContainerLocator.Container.Resolve<IFreeSql>();
|
||||
//var appVersionService1 = ContainerLocator.Container.Resolve<MachineDataService>();
|
||||
//var appVersionService2 = ContainerLocator.Container.Resolve<ILogService>();
|
||||
var appVersionService3 = ContainerLocator.Container.Resolve<PlcRtDataService>();
|
||||
|
||||
base.OnInitialized();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user