簡體   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