我创建了添加到XAML窗口的用户控件:
<ctrl:MenuControl DataContext="{Binding Main, Source={StaticResource Locator}}/>
我的用户控件有菜单项,例如:
<MenuItem Header="example command" Command="{Binding ExampleCommand}" />
App.xaml中定义的定位器:
<Application.Resources>
<ResourceDictionary>
<!--Global View Model Locator-->
<viewModel:ViewModelLocator x:Key="Locator" d:IsDataSource="True" />
</ResourceDictionary>
</Application.Resources>
MainViewModel在定位器中定义如下:
public MainViewModel Main
{
get { return ServiceLocator.Current.GetInstance<MainViewModel>(); }
}
不幸的是,我有很多这样的错误:
System.Windows.Data信息:10:无法使用获取值 绑定并且不存在有效的回退值;使用默认值。 BindingExpression:路径= ExampleCommand;的DataItem = NULL;目标要素 是'MenuItem'(Name =''); target属性是'Command'(类型 '的ICommand')
Resharper同样表明:
由于未知的DataContext,无法重新解析符号。
我应该如何正确设置datacontext?