出口的DependencyProperty到視圖模型我從View需要一個的DependencyProperty在我的視圖模型構造:Silverlight的閱覽通過MEF
我的問題:MEF不會SatisfyImports()「,因爲它被標記爲一個或多個ExportAttributes '(即除外)
這是VIEW的碼結構:
public class MyView : UserControl
{
[Export(MethodTypes.ChartType)]
public Charts MyChartType
{
get
{
object k = GetValue(ChartTypeProperty);
Charts f = (Charts)Enum.Parse(typeof(Charts), k.ToString(), true);
return f;
}
set
{
SetValue(ChartTypeProperty, value);
}
}
[Import(ViewModelTypes.GenericChartViewModel)]
public object ViewModel
{
set
{
DataContext = value;
}
}
public MyView()
{
InitializeComponent();
if (!ViewModelBase.IsInDesignModeStatic)
{
// Use MEF To load the View Model
CompositionInitializer.SatisfyImports(this);
}
}
}
和視圖模型:
[PartCreationPolicy(CreationPolicy.NonShared)]
[Export(ViewModelTypes.GenericChartViewModel)]
public class GenericChartViewModel
{
[ImportingConstructor]
public GenericChartViewModel([Import(MethodTypes.ChartType)] Charts forChartType)
{
string test = forChartType.ToString();
}
}
請給我對此有什麼提示或建議可能通過MEF
傳遞參數在我的情況下更好的解決方案,我需要只傳遞dependecyproperty是現在...
感謝
是的,只有VM需要它; 你能否更具體地關於手動傳遞屬性?我真的不明白怎麼做... 此外,我的方法是不使用構造函數([Import(MethodTypes.ChartType)] Chart forChartType,IModel模型) 任何想法呢? 因爲沒有CompositionInitializer.SatisfyImports()? – dvox 2010-12-02 11:01:53