正如标题所述...我怎样才能找到不同的视图模型......
我的第一个猜测是搜索用户控件,然后通过它...但是对于一些必须易于找到的东西来说似乎有很多工作....
答案 0 :(得分:1)
您可能需要使用允许您在VM之间进行通信的通用消息传递机制 - 例如,参见MVVM Light
答案 1 :(得分:1)
您可以使用 Messenger Class。
当您想要执行其他 ViewModel 中的一个 Viewmodel 中存在的方法时。您只需向 ViewModel 发送消息(它从 ViewModel (你想从中获取)来保存你想要执行的事件,并且可以执行该事件。
在声明事件的类的构造函数中注册消息。 在您要使用该事件的位置,从 viewmodel (您要在其中访问)发送消息。
答案 2 :(得分:0)
两个视图模型如何关联?一个是另一个的父母吗?在这种最佳情况下,您可以将事件或委托公开在另一个订阅的事件或委托中。
同样,如果他们有一个共同的父母,这可以在父视图模型中完成。
如果没有关系,那么如何将所有常用功能放入基本视图模型类中。如果事件或委托在基本视图模型中公开,那么扩展它的每个视图模型都可以在内部订阅它。