出口的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