我正在开始使用MVVM .. 我已经实现了一个窗口,需要将其更改为mvvm 但是..在我的窗口中我有一个搜索可视树的功能 我怎么能在我的视图模型中做到这一点?我无法从viewmodel访问视图中的函数..
答案 0 :(得分:2)
您可以创建一个自定义界面,公开该功能并在ViewModel中注入其实现。
它可能不是最优雅的解决方案,但它是一个快速的解决方案,(模拟)可测试且松散耦合。
请参考这个答案,写一个写得很好的例子:
答案 1 :(得分:0)
您不在ViewModel中执行此操作。访问视图应该在视图中完成,如果需要代码,则可以选择开发包含代码的控件并使用视图中的控件。
不要将有关View的任何知识添加到ViewModel。这会搞乱模式并消除(部分)MVVM的好处。