La fixation d'un WPF ContextMenu de PlacementTarget de la propriété dans le code XAML?
<Button Name="btnFoo" Content="Foo" >
<Button.ContextMenu Placement="Bottom" PlacementTarget="btnFoo">
<MenuItem Header="Bar" />
</Button.ContextMenu>
</Button>
me donne une erreur d'exécution 'UIElement' type n'a pas un public TypeConverter classe
J'ai aussi essayé
<Button Name="btnFoo" Content="Foo" >
<Button.ContextMenu Placement="Bottom" PlacementTarget="{Binding ElementName=btnFoo}">
<MenuItem Header="Bar" />
</Button.ContextMenu>
</Button>
et qui a mis le ContextMenu dans le coin en haut à gauche de mon écran, plutôt que sur le Bouton
OriginalL'auteur kenwarner | 2009-08-13
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en paramètre de la ContextMenuService.Le Placement de la propriété attachée sur le bouton, comme indiqué dans les remarques de la documentation pour ContextMenu.Placement.
Je suis confus. Pourquoi ne pas PlacementElement liaison travail?
Comme le MSDN docs unis, le PlacementTarget propriété est modifiée lorsque le menu contextuel s'ouvre (soit MousePoint ou Centre, selon la façon dont l'utilisateur ouvre le menu). De ce fait, la définition d'une liaison sur la propriété ne fonctionne pas - il sera changé.
Oh... je vois. Ils devraient ai marqué en lecture seule, ce serait moins à confusion. Merci!
Lorsque cela est mis en œuvre le menu contextuel qui vient sur le bouton droit de la souris. Est-ce possible d'avoir le menu contextuel sur clic gauche de la souris? Merci à l'avance.
OriginalL'auteur Tarsier
Avez-vous essayé ceci:
Cela rendra le ContextMenu ouvert où vous avez cliqué avec le bouton droit de votre souris (sur le bouton).
Ce qui je pense pourrait être l'emplacement de votre choix à droite?
--- EDIT ---
Dans ce cas, utilisez ceci:
Et dans le code behind:
Vous pouvez réutiliser la méthode pour de multiples boutons et ContextMenu..
La modification doit faire l'affaire...
Lorsque cela est mis en œuvre le menu contextuel qui vient sur le bouton droit de la souris. Est-il possible d'obtenir la même fonctionnalité sur le clic gauche de la souris? Merci à l'avance.
OriginalL'auteur Zenuka
Vous pouvez utiliser un
<Menu />
, considéré comme unButton
et éviter les tracas avec lesContextMenuService
.OriginalL'auteur Lyra