c# - Splat 中的默认视图合同
问题描述
我在模块化 WPF 应用程序中使用 ReactiveUI:主应用程序使用 ViewModels 和 Views 动态加载 DLL。
我resolver.RegisterViewsForViewModels(newAssembly);
用来自动注册程序集中的所有视图。
现在,我想为某些视图模型添加只读视图。我想出了使用合同和 ViewModelViewHost.Contract 的想法 - 它应该可以完成工作。
有没有办法用合同标记视图,以便RegisterViewsForViewModels
将其注册?
如果没有,将只读视图注册到合同就足够了吗?RegisterViewsForViewModels
如果每个 VM 有多个视图,会中断吗?
解决方案
RegisterViewsForViewModels() 的源代码位于https://github.com/reactiveui/ReactiveUI/blob/50403240c792d6d870fbe74961d5df297b4a1f2e/src/ReactiveUI/IDependencyResolver.cs
我想您可以修改该方法以查找您的 IReadOnlyViewFor 或其他内容并使用合同名称进行注册。
推荐阅读
- apache-spark - Spark RDD对简单集合的递归操作
- python - python 2.7给出结果后如何结束程序
- html - 当使用 Flexbox 的容器中没有足够的空间时,我可以让两个 html 输入进入它们自己的行吗?
- javascript - 提高 Cube Portfolio Gallery 中的图像加载速度
- javascript - socket.io 客户端连接到服务器但不通信
- ios - 如何将 TapGestureRecogniser 分配给用户绘制的线条
- python - 将密码保存到txt文档并实现一个列表
- mysql - 建模多对多关系的正确方法
- arrays - Ruby:0 处的错误元素类型符号(预期数组)
- python - 如何将自定义函数应用于 PyTorch 中矩阵中的特定列