Splat中的默认View合约

时间:2018-06-04 10:22:28

标签: c# wpf reactiveui

我在模块化WPF应用程序中使用ReactiveUI:主应用程序使用ViewModels和Views动态加载DLL。

我使用resolver.RegisterViewsForViewModels(newAssembly);自动注册程序集中的所有视图。

现在,我想为某些视图模型添加只读视图。我提出了使用契约和ViewModelViewHost.Contract的想法 - 它应该做的工作。

有没有办法用合约标记视图,以便RegisterViewsForViewModels将其注册?

如果没有,用合同注册只读视图是否足够?如果每个VM有多个视图,会RegisterViewsForViewModels会中断吗?

1 个答案:

答案 0 :(得分:1)

RegisterViewsForViewModels()的源代码位于https://github.com/reactiveui/ReactiveUI/blob/50403240c792d6d870fbe74961d5df297b4a1f2e/src/ReactiveUI/IDependencyResolver.cs

我想你可以修改方法来查找你的IReadOnlyViewFor或其他东西并注册合同名称。