[英]Error while setting a Datacontext for a UserControl in WPF
我在尝试设置DataContext
地方有用户控件,如下所示:
<UserControl.DataContext>
<Binding ElementName="dataGrid" Path="MyViewModel">
</Binding>
</UserControl.DataContext>
这里dataGrid
是一个DataGrid
子控件,而MyViewModel
是我的ViewModel
类。 当前,它在运行时给出以下错误:
Cannot find source for binding with reference 'ElementName=dataGrid'. BindingExpression:Path=MyViewModel; DataItem=null; target element is 'UserControl1' (Name=''); target property is 'DataContext' (type 'Object')
有人可以帮忙这里的问题吗?
该问题很可能是由于名称范围限制所致。 ElementName绑定只能在定义的边界内正常工作。 此特定错误表示无法找到命名元素“ dataGrid”。 您可以显示更多周围的XAML吗?
是否在dataGrid的DataContext上设置MyViewModel?
如果是这样,则将Path中的MyViewModel更改为DataContext,您就可以开始使用...如果不行,请将MyViewModel类设置为DataContext并从Binding中删除ElementName,它也应该工作;)
此绑定尝试访问dataGrid.MyViewModel
,但是MyViewModel
不是DataGrid
的属性...您应该执行类似的操作:
<Binding ElementName="dataGrid" Path="DataContext.MyViewModel">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.