ContextMenus
существует в слое Adorner, который не является тем же деревом визуалов, что и слой пользовательского интерфейса.
Я знаю, что вы можете связать что-то вроде следующего в MenuItem
, который вернет Control
ContextMenu
подключен, и оттуда вы можете найти нужные данные.
{Binding Path=PlacementTarget, RelativeSource=
{RelativeSource FindAncestor, AncestorType={x:Type ContextMenu}}}
Например, вы можете создать конвертер, который проходит по VisualTree
из указанного элемента управления, пока он не найдет объект, который ищет, или вы можете привязать к DataContext и найти конкретное значение в вашей ViewModel.