我有一個用戶控件,我創建了它使用[Import]
屬性導入多個零件。在從XAML實例化的控件中使用MEF
public class MyUserControl : UserControl, IPartImportsSatisfiedNotification
{
[Import]
public IService Service { get; set; }
public MyUserControl()
{
}
public void OnImportsSatisfied()
{
// Do something with Service.
}
}
該用戶控件從XAML實例化,所以它的進口沒有被滿足,OnImportsSatisfied
不會被調用。
<local:MyUserControl />
我的問題是如何在XAML中創建類時能夠滿足我的類的導入。
這可能很難做到,因爲WPF通常會卸載不可見的控件,所以此控件可能只存在一次,但可能會多次加載和卸載。 – Rachel 2011-12-29 13:13:14
@Rachel爲了防止這種情況,他可以使用延遲加載。 – 2011-12-29 13:14:33
你確定這是對的嗎?這看起來像是在試圖將業務邏輯放入UI控件中。這總是不好的事情。 – Euphoric 2011-12-29 17:37:07