UIElement.OnPreviewMouseDown(MouseButtonEventArgs) Yöntem

Tanım

İşlenmeyen PreviewMouseDown ekli yönlendirilmiş 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:
 virtual void OnPreviewMouseDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected virtual void OnPreviewMouseDown (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnPreviewMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnPreviewMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Overridable Sub OnPreviewMouseDown (e As MouseButtonEventArgs)

Parametreler

e
MouseButtonEventArgs

MouseButtonEventArgs Olay verilerini içeren. Olay verileri bir veya daha fazla fare düğmesine basıldığını 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.PreviewMouseDown çağrılmıyordur OnPreviewMouseDown .

Olayı işlenmiş olarak işaretlemek için bu sınıf işleyicisini kullanırsanız, aşağıdaki olayları etkileyebilirsiniz: PreviewMouseLeftButtonDown ve PreviewMouseRightButtonDown. Bu olaylardan biri alındığında alıcı öğede Mouse.PreviewMouseDown 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 OnPreviewMouseDown, 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ı UIElement 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. Özellikle Önizleme olaylarına yönelik bir diğer senaryo da eşleşen kabarcık oluşturan sınıf işleyicilerinin çağrılmaması için bunların işlendiğini işaretlemektir.

Şunlara uygulanır

Ayrıca bkz.