J'ai une forme personnalisée - MyShape
- (peut être le contrôle, n'a pas d'importance).Non ContextMenuChanging (ed) événement dans WPF
MyShape
a un adorer - TextAdorner
. Le TextAdorner
doit avoir le même ContextMenu comme MyShape
(car ils représentent le même objet unique).
Le CustomMenu de MyShape est modifié dans le code dans certaines conditions. Donc, j'ai besoin de détecter le moment où MyShape
change son CustomMenu pour mettre à jour l'adorner ContextMenu aussi.
Cependant, il n'y a pas ContextMenuChanging
, ni ContextMenuChanged
événements.
J'utilise ce code pour la première affectation de ContemxtMenu, cependant lorsque l'élément décoré change de menu contextuel, je ne sais pas comment les synchroniser.
public class TextAdorner : Adorner
{
public TextAdorner(UIElement adornedElement)
: base(adornedElement)
{
this.ContextMenu = (adornedElement as MyShape).ContextMenu;
}
Comment dois-je procéder dans cette situation?
merci. Votre code fait-il la même chose que celui proposé par Johan Buret? – serhio
@serhio: Oui, ils devraient faire exactement la même chose. – Quartermeister