У меня есть сценарий, в котором у меня есть элемент управления TreeView WPF, который имеет HierarchicalDataTemplate
для своих элементов. Теперь внутри HierarchicalDataTemplate
у меня есть Label
, а Label
имеет ContextMenu
с элементом меню для Delete
. Элемент меню Delete привязан к команде DeleteCommand
, которая является частью класса, который был установлен как DataType
из HierarchicalDataTemplate
.CommandParameters в ContextMenu в WPF
Теперь я хочу, чтобы передать управление TreeView
в CommandParameters
из ContextMenu-х Delete
MenuItem-х DeleteCommand
так, что я могу справиться отбор TreeViewItems на удаление выбранного элемента.
Но если я свяжу CommandParameters
как {Binding ElementName=TreeViewName}
или что бы там ни было, он всегда равен нулю, если связанный элемент не является свойством в DataContext
.
Может ли кто-нибудь помочь мне с решением, потому что я думаю, что я пробовал все возможные вещи, такие как RelativeSource и AncestorType и т. Д., Но всегда имеет значение null. Для меня это выглядит как ограничение или ошибка в структуре.
Way легко: –
JoanComasFdz
@JoanComas: после попытки все остальные без успеха (и не понимая, что все это значит с FindAncestors и т. Д.), Ваш способ Easy Way отлично работает! Благодарю. – joedotnot
комментарий @JoanComasFdz действительно помогает. Я могу применить 'CommandParameter =" {Binding} "' просто. – Youngjae