ContentElement.OnMouseDown(MouseButtonEventArgs) Yöntem

Tanım

İşlenmeyen MouseDown bir ekli olay, bu sınıftan türetilen yolundaki bir öğeye ulaştığında çağrılır. Bu olay için sınıf işleme eklemek için bu yöntemi uygulayın.

protected public:
 virtual void OnMouseDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected internal virtual void OnMouseDown (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Friend Overridable Sub OnMouseDown (e As MouseButtonEventArgs)

Parametreler

e
MouseButtonEventArgs

MouseButtonEventArgs Olay verilerini içeren. Bu olay verileri, basılan fare düğmesi ve işlenen durum hakkındaki ayrıntıları bildirir.

Açıklamalar

Fare düğmesi eylemleri, ayrılmış bir giriş yöneticisi tarafından da işlenir. Giriş ve komut bağlamaları gibi fare düğmesi eylemlerini kullanan diğer programlama özellikleri, genel bir fare düğmesi eylemi olarak sunulmadan önce eylem için işleyicileri çağırabilir. Bu giriş sistemi özellikleri olayı işlenmiş olarak işaretlerse Mouse.MouseDown çağrılmıyordur OnMouseDown .

Olayı işlenmiş olarak işaretlemek için bu sınıf işleyicisini kullanırsanız, aşağıdaki olayları etkileyebilirsiniz: MouseLeftButtonDown ve MouseRightButtonDown. Bu olaylardan biri alındığında alıcı öğede Mouse.MouseDown tetiklenebilir.

Bu olayı sınıf işlemede işlenmiş olarak işaretlerseniz, alt olaylar yine de tetiklenir; ancak olay verilerinde işlenen durumu geçirir. Olay sınıf işlemede işlenirse, işleyicileri eklemek için ile handledEventsTootrue açıkça kullanmadığınız AddHandler(RoutedEvent, Delegate, Boolean) sürece alt olaylar için örnek işleyicileri çağrılmaz. Bu sınıf işleyicileri ile handledEventsTootrueimzaya RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) kaydedilmediği sürece sınıf işleyicileri de çağrılmaz. öğesini işleyerek OnMouseDown, sınıf işlemenizin tüm olası fare düğmesi aşağı eylemlerinin hesaba eklendiğini ima ediyor olursunuz. Bu davranış istenmeyen olabilir; bu nedenle, olayları işlenmiş olarak işaretlemek için bu sanal yöntemi kullanırken dikkatli olun.

Düğmeye özgü doğrudan olayların her biri de sanal bir Açık* yöntemine sahiptir; Bu düğmeye özgü sınıf işleyicilerini geçersiz kılmanın daha uygun olup olmadığını düşünün.

Bu yöntemin varsayılan uygulaması yoktur. Devralmadaki bir ara sınıf bu yöntemi uygulayabileceğinden, uygulamanızda temel uygulamayı çağırmanızı öneririz.

Bu yöntemin amacı, ortak dil çalışma zamanı (CLR) olay deseni On* yöntemlerine benzer: Bu yöntem, örnek işleyicisi yerine bir sınıf işleyicisi oluşturarak türetilmiş sınıflardan eşleşen olayı işlemek için araçlar sağlar. Bu durumda eşleşen olay yönlendirilmiş bir olaydır. Yönlendirilen bir olay, işleyicileri çağıracak öğe olması gerekmeyen bir alt öğe tarafından oluşturulabileceğinden, On* yöntemlerinin uygulama deseni yönlendirilen olaylar için farklıdır. Bu nedenle uygulamanızın olay verilerinin kaynak özelliklerini incelemesi gerekir. Çoğu durumda olayı yeniden değere döndürmeye çalışmamalıdır.

Bu yöntemi geçersiz kılarak veya ile RegisterClassHandlersınıf işleyicileri kaydederek, türetilmiş sınıfları ContentElement olay yolu boyunca olay alındığında özel sınıf işleyici yöntemlerini çağırabilir. Sınıf işlemenin uygun olduğu senaryolardan biri, olay verilerini işlemek ve yönlendirilen olayı işlenmiş olarak işaretlemektir.

Şunlara uygulanır

Ayrıca bkz.