0

クラス間でシグナルを送信するためにプロジェクトで MEF と具体的には IEventAggregator を使用していますが、IEventAggregator のインポートが満たされておらず、値が NULL のままですか? 何か不足していますか?UserControls 内の MEF からインポートできますか?

    public partial class MyControl : UserControl 
    {
        public MyControl()
        {
           InitializeComponent();  
        }

        [Import]
        public IEventAggregator EventAggregator { get; set; }

        public void SomeMethod()
        {
           EventAggregator.GetEvent<ErrorMessage>.Subscribe(SomeOtherMethod);
        }

    }
4

1 に答える 1

1

でインポートを宣言できますがUserControl、何かがそれらのインポートを満たす必要があります。UserControlWPF が( などを介して)を作成している場合、WPF にはDataTemplateMEF の組み込みサポートがないため、インポートは解決されません。必要なことは、MyControl経由でインスタンスを取得するか、インスタンスが作成されたらCompositionContainer呼び出すことです。SatisfyImportsOnceUserControl

于 2013-04-01T09:12:23.753 に答える