【问题标题】:Default View contract in SplatSplat 中的默认视图合同
【发布时间】:2018-06-04 10:22:27
【问题描述】:

我在模块化 WPF 应用中使用 ReactiveUI:主应用动态加载带有 ViewModel 和 View 的 DLL。

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

现在,我想为某些视图模型添加只读视图。我想出了使用合同和 ViewModelViewHost.Contract 的想法 - 它应该可以完成工作。

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

如果没有,将只读视图注册到合约就足够了吗?如果每个 VM 有多个视图,RegisterViewsForViewModels 会中断吗?

【问题讨论】:

    标签: c# wpf reactiveui


    【解决方案1】:

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

    我想您可以修改该方法以查找您的 IReadOnlyViewFor 或其他内容并使用合同名称进行注册。

    【讨论】:

    • 是的,我有源代码,并且有一个实现的属性正是这样做的。我刚刚测试了它,它可以工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 2013-03-25
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多