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