0 votes

Comment lier la cible d'un style dans un menu contextuel dans Style ?

Je souhaite que la cible de commande de l'élément de menu de ContextMenu, dans un style, soit la cible du style, c'est-à-dire le contrôle sur lequel le style s'applique.

<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>

J'ai essayé RelativeSource TemplatedParent, Self, FindAncestor, mais aucun ne fonctionne. Existe-t-il un autre moyen de sélectionner la cible ?

0voto

Quartermeister Points 24729

Vous créez un seul objet ContextMenu qui sera partagé par de nombreux éléments de l'interface utilisateur. La façon de voir les choses est que vous voulez vous lier à celui qui a réellement ouvert le menu contextuel. Ceci est disponible dans l'élément Cible de placement du menu contextuel. À partir de l'élément de menu, vous pouvez utiliser une liaison FindAncestor pour accéder au menu contextuel :

<MenuItem Command="{x:Static CCC}"
    CommandTarget="{Binding PlacementTarget,
        RelativeSource={RelativeSource AncestorType=ContextMenu}}"/>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X