У меня есть два пользовательских элемента управления LeftPanel
и DeviceList
. DeviceList
находится внутри LeftPanel
. Я хочу, чтобы контекстное меню в списке устройств могло вызвать команду в родительской модели представления, которая задана в сетке, которая содержит DeviceList
. Я пробовал следующее, но это не работает.Связать ICommand с родителем ViewModel
Вот ContextMenu в DeviceList
<MenuItem Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type local:LeftPanel}},
Path=DeviceListViewModel.RemoveDevice}">
Здесь представлен LeftPanel
UserControl
<UserControl x:Class="Tool.LeftPanel" .... >
<Grid DataContext="{Binding DeviceListViewModel}" Grid.Column="1">
<local:DeviceList Grid.Row="1" Margin="0,0,0,10"/>
Я бы сказал, что не делаю этого. попросите «DeviceListView» вызвать команду «DevicelistViewModel» и отправить «сообщение» из этой виртуальной машины в ее родительскую виртуальную машину и действовать соответствующим образом. не сходите по маршруту привязки View на нескольких виртуальных машинах. Бывает очень запутанным – Viv