UIElement.OnPreviewMouseDown(MouseButtonEventArgs) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İşlenmeyen PreviewMouseDown bağlı 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
Olay verilerini içeren MouseButtonEventArgs. 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 Mouse.PreviewMouseDown olayını işleniyor olarak işaretlerse OnPreviewMouseDown çağrılmıyordur.
Olayı işlenmiş olarak işaretlemek için bu sınıf işleyicisini kullanırsanız, olası olarak şu olayları etkilersiniz: PreviewMouseLeftButtonDown ve PreviewMouseRightButtonDown. Mouse.PreviewMouseDown alındığında bu olaylardan biri alıcı öğede tetiklenebilir.
Bu olayı sınıf işlemede işleniyor 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 açıkça handledEventsToo
true
ile AddHandler(RoutedEvent, Delegate, Boolean) kullanmadığınız sürece alt görevlerin örnek işleyicileri çağrılmaz. Bu sınıf işleyicileri handledEventsToo
true
ile RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) imzasıyla kaydedilmediği sürece sınıf işleyicileri de çağrılmaz.
OnPreviewMouseDownişleyerek, sınıf işlemenizin tüm olası fare düğmesi aşağı eylemlerini hesaba eklediğinizi ima ediyorsunuz. 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şturulabildiğinden, Yönlendirilen olaylar için On* yöntemlerinin uygulama deseni farklıdır. Bu nedenle uygulamanızın olay verilerinin kaynak özelliklerini incelemesi gerekir. Çoğu durumda olayı yeniden düzeltmeye çalışmamalıdır.
Bu yöntemi geçersiz kılarak veya sınıf işleyicilerini RegisterClassHandlerile kaydederek, türetilmiş UIElement sınıfları 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şlendiği şekilde 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.