簡體   English   中英

MEF 和 MVVM - 添加約定的方式?

[英]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.

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