Aracılığıyla paylaş


FrameworkElement.ContextMenuOpening Olay

Tanım

öğesindeki herhangi bir bağlam menüsü açıldığında gerçekleşir.

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ü

Açıklamalar

Bağlam menülerini el ile açmak için, olayların işleyicileri ilgili olayı işlenmiş olarak işaretlemelidir. Aksi takdirde, özelliğin ContextMenu mevcut değeri bir bağlam menüsünü otomatik olarak açmak için kullanılır. İşlenen olayı işaretlemek varsayılan eylemi etkili bir şekilde iptal eder ve özelliğin ContextMenu değerini sıfırlamak ve ardından yeni ContextMenuöğesini açmak için bir fırsat olabilir. Ancak, bilmeniz gereken bir zamanlama sorunu vardır. bağlam menüsünü bir ContextMenuOpening işleyici aracılığıyla tamamen değiştirmek için, ilk bağlam menüsü null / boş olmamalıdır. Alternatif olarak, olayı işlemeniz ve ardından yeni bir bağlam menüsünü el ile açmanız gerekebilir. Ayrıntılar için bkz . Nasıl yapılır: ContextMenuOpening Olayını İşleme.

Bu olayı bir stilde kullanmak EventTrigger için, temel alınan ekli olaya başvurmanız gerekir:

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

(Temel alınan hizmet olayını kullanıma sunan olay uygulaması FrameworkElement , tetikleyicilerde kullanabileceğiniz şekilde tanımlayıcıyı ContextMenuOpening eşlemediğinden bu kullanım gereklidir).

ContextMenu kendisi türetilmiş bir FrameworkElement sınıftır, ancak bu olay kaynak olarak açılan bağlam menüsünden tetiklenmez. Olay, bağlam menüsünün "sahibi" olan öğeden bir özellik olarak oluşturulur ve yalnızca kullanıcı kullanıcı arabiriminde bağlam menüsünü açmayı denediğinde oluşturulur. Kendisinin bir ContextMenu özelliği olabilirContextMenu, ancak bu senaryodan kaçınmalısınız (ayrıntılar için bkzFrameworkElement.ContextMenu. ).

Sınıfın ContextMenu kendisi de benzer bir olaya (Opened) sahiptir ancak Opened size kullanıcı eylemini iptal etme fırsatı sağlamaz.

Yönlendirilmiş Olay Bilgisi

Tanımlayıcı alanı ContextMenuOpeningEvent
Yönlendirme stratejisi Köpürme
Temsilci ContextMenuEventHandler
  • Türetilmiş sınıflarda bu olay için sınıf işleme uygulamak için geçersiz kılın OnContextMenuOpening .

Şunlara uygulanır

Ayrıca bkz.