using Main.Test.ViewModels;
using Main.Test.Views;
using MAX.Core.DependencyInjection;
using MAX.Core.Logger;
using Prism.Ioc;
using Prism.Modularity;
using Prism.Mvvm;
using System.Configuration;
using System.Data;
using System.Windows;
using Trade.Framework;
using Trade.Framework.Extensions;
using Trade.Framework.Services;
namespace Main.Test;
///
/// Interaction logic for App.xaml
///
public partial class App : FrameworkApplication
{
public IScopedProvider CurrentScope => throw new NotImplementedException();
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
}
protected override Window CreateShell()
{
return Container.Resolve();
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
// 严格模式:FrameworkApplication 已关闭 DryIoc 按需动态注册(WithConcreteTypeDynamicRegistrations),
// 所有被解析的类型必须显式注册,否则抛 ContainerException。
// 启动 Shell
containerRegistry.Register();
// 窗口/控件 ViewModel(DISource 从容器解析)
containerRegistry.Register();
containerRegistry.Register();
// 对话框:RegisterDialog 只注册 View 本身,VM 由 ViewModelLocator 从容器解析,需单独注册
containerRegistry.RegisterDialog(nameof(bbbDialogView));
containerRegistry.Register();
// 服务:原先靠 DryIoc 动态注册(Transient),显式注册保持同样行为
//containerRegistry.Register();
// 若希望 UserManager 全局只实例化一次:
// containerRegistry.RegisterSingleton();
//containerRegistry.RegisterSingleton();
}
}