我有一个基于插件的应用程序,我在其中使用 Mono.Addin 发现插件。每个插件都有自己的 View 和 ViewModel,我不确定将 View 传递给 MainView 的最佳方法。目前我的 MainView 绑定(bind)到我的 MainViewModel 上的一个对象类型,但这需要我在我的插件 ViewModel 中有 UI 特定的逻辑。我不太愿意这样做,但想不出更好的方法。
我的 MainViewModel 有这个
public object Content
我的 PluginViewModel 会这样做
this.MainViewModel.Content = ViewLocator.Current.ResolveView(this);
最佳答案
如果您使用的是 MVVM,那么从 View 模型创建 View 的常用方法是通过数据模板,为了使其正常工作, View 和数据模板都需要合并到应用程序的全局 ResourceDirectory 中。有 another answer here这表明使用 MEF 插件架构可以做到这一点,但适应其他架构应该不会太困难。
关于c# - 如何使用 MVVM 将 UserControl 从插件传递到我的主窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26657639/