这个接口是从IContainerProvider接口继承过来的,从类型上面讲也是一个IContainerProvider,后面关于这个具体的实现我们可以看看具体的源码是如何实现CreateScope的,另外这个和前面讲的IContainerRegistry中RegisterScoped方法有什么联系,后面我们将带着这些疑问来一一进行解答。 2.3 ContainerLocator 这个是在Prism.Core中...
ContainerLocator是Prism 8.0中的新功能。为了帮助Prism摆脱对CommonServiceLocator的依赖,并解决一些我们必须回退到ServiceLocator模式的内部问题(如XAML扩展)。ContainerLocator还为Prism带来了一些额外的好处,特别是对于那些从事跨平台应用程序(如Xamarin.Forms或Uno Platform)的开发人员而言。在这种情况下,有时可能需要在初始...
ContainerLocator.SetContainerExtension(CreateContainerExtension); _containerExtension = ContainerLocator.Current; _moduleCatalog = CreateModuleCatalog(); RegisterRequiredTypes(_containerExtension); RegisterTypes(_containerExtension); _containerExtension.FinalizeExtension(); ConfigureModuleCatalog(_moduleCatalog);varr...
1.ContainerLocator.Current.Resolve函数去除: 代码语言:javascript 复制 ContainerLocator.Current.Resolve<T>//替换为ServiceLocator.Current.GetInstance<T> 这可能是你遇到的第一个升级报错,因为ContainerLocator.Current.Resolve<T>这个api本来是在Prism.WPF下的CommonServiceLocator程序集下面的,8.0时候被砍了,在Pris...
1.ContainerLocator.Current.Resolve ContainerLocator.Current.Resolve//替换为 ServiceLocator.Current.GetInstance 1. 2. 这可能是你遇到的第一个升级报错,因为ContainerLocator.Current.Resolve这个api本来是在Prism.WPF下的CommonServiceLocator程序集下面的,8.0时候被砍了,在Prism.Core加上ServiceLocator.Current.GetIn...
privatevoidInitializeInternal(){// 配置View 和 ViewModel 的定位器ConfigureViewModelLocator();Initialize();// 显示窗口OnInitialized();}protectedvirtualvoidInitialize(){ContainerLocator.SetContainerExtension(CreateContainerExtension);_containerExtension=ContainerLocator.Current;_moduleCatalog=CreateModuleCatalog();Re...
ContainerLocator.Current.RegisterSingleton<IEventAggregator,MyEventAggregator>(); 4. 最后 根据单元测试项目的结构,容器的初始化会有不同的方式,如果想尽量模仿 PrismApplication 的话可以参考PrismApplicationBase和PrismInitializationExtensions写一个初始化类,大概差不多这样(简化了部分代码): ...
containerRegistry.RegisterForNavigation<Edge, EdgeViewModel>; } 按下F5启动看看是否报错 4)修改MainWindow.xaml 添加命名空间 xmlns:prism="http://prismlibrary.com/" 设置prism:ViewModelLocator.AutoWireViewModel="True" Prism框架会根据规则自动查找该视图相对应ViewModel。
add ContainerLocator Apr 12, 2020 CodeCoverage.runsettings project restructure Apr 2, 2020 Directory.Build.props ci: add OfficialRelease flag Jul 21, 2024 Directory.Build.targets chore: drop AssemblyMetadata attribute Jan 20, 2024 Directory.Packages.props ...