我已经尝试了很多选项很长一段时间,这是我想到的最后一个选项,所以我会试着问: 我正在尝试在WPF中开发一个MVVM项目,我已经下载了一个即用型WPF控件(GMap.NET)。但是,这个控件还没有准备好在MVVM中使用它,我是一个新手,所以我不想自己修改源代码。控件需要设置许多参数(不能通过XAML访问,因此我不能简单地绑定它们),并在控件对象上调用一些函数。所以这是我的问题:
如何从代码中的任何位置访问WPF控件实例并从那里进行管理?
特别是,我想从ViewModel部分访问View元素,我知道它会制作模式,但我不知道如何避免它,而且我的时间不多了。
答案 0 :(得分:2)
很难说不知道具体的控制。但总的来说,我看到2个选项可以使MVVM符合这样的控制:
但是,如果控件的API很复杂并且不仅具有属性,而且还有一些方法,那么在这里打破MVVM可能是务实的。 MVVM不是从视图中分离GUI相关逻辑的唯一方法。您可以使用接口抽象已使用的函数,并使用视图模型中的接口。