我有一個ListBox
,我已經添加了ContextMenu
。我希望ContextMenu
中的其中一個項目綁定到命令,我希望傳遞給該命令的參數成爲ListBox
控件的當前選定項目。這是我的XAML:幫助綁定命令參數到相對來源
<ListBox x:Name="selectedVascularBeds"
ItemsSource="{Binding Path=UserSelectedVascularBeds}"
dd:DragDrop.IsDropTarget="True"
dd:DragDrop.DropHandler="{Binding}"
DisplayMemberPath="VascularBedName">
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Header="Remove" Command="{Binding Path=RemoveSelectedVascularBedCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource
Mode=FindAncestor,
AncestorType={x:Type ListBox}},
Path=SelectedItem}"/>
</ContextMenu>
</ListBox.ContextMenu>
</ListBox>
這ListBox
是綁定到視圖模型對象的用戶控件的一部分。我對底層對象的命令方法被調用,但傳入的參數始終爲空。
我測試過將CommandParameter
的綁定改爲{Binding}
,這導致用戶控件的數據上下文被傳遞到我的方法中 - 所以我知道該命令正常工作並正確傳遞參數。我似乎無法獲得正確的綁定來訪問ListBox
的SelectedItem
屬性。
幫助?