FrameworkContentElement.ContextMenuOpening Olay

Tanım

Öğe üzerinde herhangi bir bağlam menüsü açıldığında gerçekleşir.Occurs when any context menu on the element is opened.

public:
 event System::Windows::Controls::ContextMenuEventHandler ^ ContextMenuOpening;
public event System.Windows.Controls.ContextMenuEventHandler ContextMenuOpening;
member this.ContextMenuOpening : System.Windows.Controls.ContextMenuEventHandler 
Public Custom Event ContextMenuOpening As ContextMenuEventHandler 

Olay Türü

ContextMenuEventHandler

Açıklamalar

Bağlam menülerini el ile açmak için olayların işleyicilerinin ilgili olayı işlenmiş olarak işaretlemesi gerekir.To manually open context menus, handlers of the events should mark the relevant event as handled. Aksi takdirde, özelliğin varolan değeri ContextMenu otomatik olarak bir bağlam menüsünü açmak için kullanılacaktır.Otherwise, the existing value of the ContextMenu property will be used to automatically open a context menu. Etkinliğin işlenmiş olarak işaretlenmesi, varsayılan eylemi etkin bir şekilde iptal eder ve özelliğin değerini sıfırlayıp yeni bir fırsat olabilir ContextMenu ContextMenu .Marking the event handled will effectively cancel the default action, and could be an opportunity to reset the value of the ContextMenu property and then open the new ContextMenu. Ancak, bilmeniz gereken bir zamanlama sorunu vardır.However, there is a timing issue you should be aware of. Bağlam menüsünü bir işleyici üzerinden tamamen değiştirmek için ContextMenuOpening , ilk bağlam menüsü null/boş olmamalıdır.In order to completely replace the context menu through a ContextMenuOpening handler, the initial context menu must not be null / empty. Alternatif olarak, olayı işlemeniz ve ardından el ile yeni bir bağlam menüsü açmanız gerekebilir.Alternatively, you might need to handle the event and then manually open a new context menu. Ayrıntılar için bkz. nasıl yapılır: Contextmenuaçýlýþ olayını işleme.For details, see How to: Handle the ContextMenuOpening Event.

Bu olayı bir EventTrigger Stil içinde kullanmak için, temel alınan hizmet olay tanımlayıcısına başvurmanız gerekir:To use this event as an EventTrigger in a style, you must reference the underlying service event identifier:

<EventTrigger RoutedEvent="ContextMenuService.ContextMenuOpening">
  <!-- storyboard here ... -->
</EventTrigger>

(Bu kullanım gereklidir çünkü FrameworkContentElement temeldeki hizmet olayını kullanıma sunan olay uygulama, ContextMenuOpening tetikleyicilerle kullanım için tanımlayıcıyı doğru bir şekilde eşleştirmez).(This usage is required because the event implementation on FrameworkContentElement that exposes the underlying service event does not correctly map the ContextMenuOpening identifier for use in triggers).

Yönlendirilmiş Olay BilgisiRouted Event Information

Tanımlayıcı alanıIdentifier field ContextMenuOpeningEvent
Yönlendirme stratejisiRouting strategy TırmanmaBubbling
TemsilciDelegate ContextMenuEventHandler

Şunlara uygulanır

Ayrıca bkz.