10
votes

Objet de menu Ouvrir et clôture événement

Je veux gérer un événement, chaque fois que le sous-menus d'un élément de menu s'ouvre. Même pour la fermeture. Comment puis-je faire cela?


0 commentaires

3 Réponses :


1
votes

Vous ne savez pas ce que vous voulez, mais jetez un coup d'œil à ces événements pour contextmenu et menuitem :

contextMenu :

http://msdn.microsoft.com /en-us/library/system.windows.controls.ContextMenu_events.aspx

menuitem :

http://msdn.microsoft.com /en-us/library/system.windows.controls.menuitem_events.aspx

Je pense contextmeneuPening et contextmenuctosc. / code> pourrait être intéressant;)


1 commentaires

Le problème avec ceux-ci est qu'ils tirent uniquement lorsque le menu / contextmenus est en réalité ouvert. Dans certains scénarios, vous voudrez peut-être aussi vérifier quand il devrait Ouvrir (comme un menu principal survolé lorsqu'un menu précédent était ouvert) et ces événements ne capturent pas cela. Malheureusement, je ne pense pas qu'il y ait un moyen de gérer ces événements sauf pour réécrire complètement le comportement de contrôle.



15
votes

Très facile. Abonnez-vous à un Menuitem 'S SumRépouturé événement. Manière traditionnelle de le faire: xxx

ou la méthode dynamique cool: xxx


0 commentaires

0
votes

Si vous souhaitez ouvrir une ouverture avant la véritable ouverture, vous pouvez sous-classer la menuem xxx

Je sais que c'est VB, mais c'est facilement convertible. De plus, avec l'annuleVentargs, vous pouvez simuler l'annulation de l'ouverture (ou de la fermeture).


1 commentaires

La question a la balise C #, pas le VB