我有一个基于插件的应用程序,我使用Mono.Addin发现插件。每个插件都有自己的View和ViewModel,我不确定将View传递给MainView的最佳方法。目前我的MainView绑定到MainViewModel上的对象类型,但这需要我在我的插件ViewModel中使用UI特定的逻辑。我这样做并不是很自在,但却想不到更好的方法。
我的MainViewModel有这个
public object Content
我的PluginViewModel执行此操作
this.MainViewModel.Content = ViewLocator.Current.ResolveView(this);
答案 0 :(得分:1)
如果您正在使用MVVM,那么从视图模型创建视图的常用方法是通过数据模板化,为了使其工作,需要将视图和数据模板合并到应用程序的全局ResourceDirectory中。有another answer here表明使用MEF插件架构可以做到这一点,但要适应其他人不应该太难。