[英]MEF and MVVM - way to add conventions?
有沒有辦法連接到 CompositionContainer 的內部?
例如,假設任何時候對以單詞“View”結尾的導出調用導入,我可能想將一個以“ViewModel”結尾的導出注入到它的 DataContext 中。
有沒有辦法做到這一點? 我試圖在每個視圖中避免這樣的代碼:
[Export("MainView")]
public partial class MainView : Window
{
[ImportingConstructor]
public MainView([Import("MainViewModel")] dynamic viewModel)
{
InitializeComponent();
DataContext = viewModel;
}
}
最好簡化為這個,並使用約定:
[Export("MainView")]
public partial class MainView : Window
{
public MainView()
{
InitializeComponent();
}
}
有一些人在做這件事,顯然包括 Mef 團隊:) 這里有一篇博文,你可能會覺得有趣:
http://thecodejunkie.com/2010/03/bringing-convention-based-registration.html
這是另一個稍微不太詳細的:
http://blogs.msdn.com/b/hammett/archive/2011/03/08/mef-s-convention-model.aspx
我猜你正在尋找一個可以減少你工作量的庫或框架。
請查看庫WPF 應用程序框架。 我用得很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.