如何解决ReactiveUI 是否提供 PRISM ViewModelLocator 之类的服务?
使用 PRISM 框架,我们可以这样做:
<UserControl x:Class="ProjectName.MyView"
xmlns:prism="http://prismlibrary.com/"
prism:viewmodelLocator.AutoWireviewmodel="True">
</UserControl>
因此,我们的 DataContext
设置了 Myviewmodel
的实例。
我试图在 ReactiveUI 中找到相同的技术,但我发现的只是这个 link。它说你需要的只是在你的视图模型中实现 IActivatableviewmodel
并且如果你在视图代码隐藏中有 WhenActivated
块,那么实现 IViewFor<T>
视图模型被激活。
问题:
1)。 “激活”是什么意思?我希望视图模型是由 ReactiveUI 自动设置的,但是这种行为不会发生,所以看起来我误解了“激活”的实际含义。
2)。 ReactiveUI 是否提供这种在视图激活时设置视图模型的服务?如果是,请提供代码示例。
解决方法
“激活”是什么意思?
激活用于推迟视图模型的设置,直到加载相应的视图:https://www.reactiveui.net/docs/handbook/when-activated。
我希望 ReactiveUI 自动设置视图模型...
你的期望是错误的。在 ReactiveUI 中,视图是基于视图模型解析的(而不是视图使用 Prism 中的视图模型定位器解析视图模型)。
ReactiveUI 是否提供这种在视图被激活时设置视图模型的服务?
没有。您应该自己创建视图模型并让 ReactiveUI 解析相应的视图。查看文档中的 Routing section 以获取示例。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。