2010-07-16 2 views
0

Я хочу установить CommandTarget MenuItem of ContextMenu в стиле, в цель Style, т. Е. Элемент управления, к которому применяется стиль.Как привязать к цели стиля в стиле ContextMenu?

<Style x:Key="AAA" TargetType="{x:Type BBB}"> 
     <Setter Property="ContextMenu"> 
      <Setter.Value> 
       <ContextMenu> 
        <MenuItem Command="{x:Static CCC}" CommandTarget="{Binding ???}"/> 
       </ContextMenu> 
      </Setter.Value> 
     </Setter> 
    </Style> 

Я Пытался RelativeSource TemplatedParent, Self, FindAncestor, ни один из них не работает. Есть ли другой способ выбора цели?

ответ

0

Вы создаете единый объект ContextMenu, который будет использоваться многими элементами интерфейса. Способ думать об этом заключается в том, что вы хотите привязать к тому, который фактически открыл ContextMenu. Это доступно в собственности PlacementTarget ContextMenu. Из меню MenuItem вы можете использовать привязку FindAncestor для доступа к ContextMenu:

+0

Я пробовал это, но не удалось. Однако я использовал работу, просто опустил команду commandtarget и установил сфокусированное управление при открытии контекстного меню. Спасибо вам! – Tinro

Смежные вопросы