繁体   English   中英

在WPF中为UserControl设置数据上下文时出错

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM