我正在研究一個完全基於MVVM的應用程序。我面臨一個有約束力的問題。WPF親子關係綁定
<ListView ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}},Path=DataContext.CurrentSecurityList}">
<ListView.ContextMenu>
<ContextMenu>
<MenuItem Header="Remove" Command="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}},Path=DataContext.RemoveSecurity}"/>
</ContextMenu>
</ListView.ContextMenu>
ListView綁定在這段代碼中工作絕對好,但問題來了,當涉及到MenuItem命令綁定。有人可以解釋我在這裏做錯了什麼。
「但問題就來了」並沒有幫助,什麼問題?對於綁定問題,請查看Visual Studio中的「輸出」窗口,並複製/粘貼它顯示的綁定錯誤。 – ken2k
ContextMenu綁定是一個衆所周知的情況 - 檢查這篇文章作爲其中一個很多人http://stackoverflow.com/questions/1013558/elementname-binding-from-menuitem-in-contextmenu – sll
無法找到綁定參考' RelativeSource FindAncestor,AncestorType ='System.Windows.Controls.UserControl',AncestorLevel ='1''。 BindingExpression:路徑= DataContext.RemoveSecurity;的DataItem = NULL;目標元素是'MenuItem'(Name ='');目標屬性是'命令'(鍵入'ICommand') –