我在导出属性时遇到问题。
我有两个视图模型:
public class ViewModelA
{
[Export]
public LanguageObj LObj { get; set; }
}
public class ViewModelB
{
[Import]
public LanguageObj LObj { get; set; }
}
当我运行我的应用程序时,属性之间的第一条线路已经建成,但是起初,languageObj为null,因为用户还没有选择语言。当用户选择语言时,vm A中的属性会更新,但是当我尝试在vm B中获取它时仍然会看到空值,这意味着mef没有通知此更改。
顺便说一句,如果我使用ObservableCollection类型的属性,我真的看到了变化,这意味着A中的集合上的每个变化我在B中看到它。
我转移到使用方法导出,它的工作正常,但真的很有趣,为什么我不能使用属性导出样式。
我用过:
[Export(typeof(Func<LanguageObj>))]
public LanguageObj GetLanguageObj()
{
return LObj
}
在VM B中我使用:
[Import]
public Func<LanguageObj>> LObj {get;set;}
任何想法。
提前致谢...