У меня есть 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
является частью пользовательского элемента управления, который привязан к объекту модели представления. Мой командный метод для базового объекта вызывается, но переданный параметр всегда имеет значение null.
Я протестировал изменение привязки CommandParameter
к простому {Binding}
, что приводит к тому, что контекст данных пользовательского элемента управления передается в мой метод - поэтому я знаю, что команда работает и передает параметры правильно. Я просто не могу получить правильную привязку для доступа к свойству ListBox
SelectedItem
.
Помощь