У меня есть просмотр списка WPF, и в одном столбце ячейка может содержать один или несколько списков.
Когда я щелкаю правой кнопкой мыши ListBox, я создаю контекстное меню, где каждый элемент имеет DelegateCommand. В настоящее время я устанавливаю параметр команды для свойства SelectedListBox на самой модели представления страницы, поскольку моей команде делегата необходимо знать, какой элемент ListBox был нажат правой кнопкой мыши.
Однако это приводит к странному поведению, которое, как я предполагаю, связано с тем, что я привязываю несколько списков ListBox к одному свойству уровня страницы (SelectedListBox).
Соответствующий XAML для шаблона ячейки для просмотра списка выглядит следующим образом:
<DataTemplate x:Key="MultipleListBoxCellTemplate">
<ListBox SelectedItem="{Binding Path=DataContext.SelectedListBox, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Page}}}" />
</DataTemplate>
Есть ли лучший способ узнать, какой ListBox щелкнул правой кнопкой мыши по моей модели представления, или кто-нибудь может придумать другой подход? Очень ценится:)