簡體   English   中英

如何使用 MVVM 將 UserControl 從插件傳遞到我的主窗口?

[英]How can I pass a UserControl from a Plugin to my main window using MVVM?

我有一個基於插件的應用程序,我正在使用 Mono.Addin 發現插件。 每個插件都有自己的 View 和 ViewModel,我不確定將 View 傳遞給 MainView 的最佳方法。 目前,我的 MainView 綁定到我的 MainViewModel 上的對象類型,但這要求我在我的插件 ViewModel 中有 UI 特定的邏輯。 我這樣做並不完全舒服,但想不出更好的方法。

我的 MainViewModel 有這個

public object Content

我的 PluginViewModel 做到了這一點

this.MainViewModel.Content = ViewLocator.Current.ResolveView(this);

如果您使用的是 MVVM,那么從視圖模型創建視圖的常用方法是通過數據模板,為了使其工作,需要將視圖和數據模板合並到應用程序的全局 ResourceDirectory 中。 這里有另一個答案表明使用 MEF 插件架構可以做到這一點,但適應其他人應該不會太難。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM