ContentElement.OnPreviewMouseUp(MouseButtonEventArgs) Yöntem

Tanım

İşlenmemiş PreviewMouseUp ekli bir olay, bu sınıftan türetilen rotadaki bir öğeye ulaştığında çağrılır.Invoked when an unhandled PreviewMouseUp attached event reaches an element in its route that is derived from this class. Bu olay için sınıf işleme eklemek için bu yöntemi uygulayın.Implement this method to add class handling for this event.

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

Parametreler

e
MouseButtonEventArgs

MouseButtonEventArgsOlay verilerini içeren.The MouseButtonEventArgs that contains the event data. Olay verileri bir veya daha fazla fare düğmesinin serbest bırakıldığını bildiriyor.The event data reports that one or more mouse buttons were released.

Açıklamalar

Ayrıca, fare düğmesi eylemleri özel bir giriş Yöneticisi tarafından da işlenir.Mouse button actions are also handled by a dedicated input manager. Giriş ve komut bağlamaları gibi fare düğmesi eylemlerine dayanan diğer programlama özellikleri, genel bir fare düğmesi eylemi olarak sunulmadan önce eyleme yönelik işleyiciler çağırabilir.Other programming features that rely on mouse button actions, such as input and command bindings, might invoke handlers for the action before it is exposed as a general mouse button action. Bu giriş sistemi özellikleri Mouse.PreviewMouseUp olayı işlenmiş olarak işaretleirse, OnPreviewMouseUp çağrılmaz.If these input system features mark the Mouse.PreviewMouseUp event as handled, OnPreviewMouseUp is not invoked.

Olayı işlenmiş olarak işaretlemek için bu sınıf işleyicisini kullanırsanız, büyük olasılıkla aşağıdaki olayları etkilersiniz: PreviewMouseLeftButtonUp ve PreviewMouseRightButtonUp .If you use this class handler to mark the event as handled, you potentially impact the following events: PreviewMouseLeftButtonUp and PreviewMouseRightButtonUp. Bu olaylardan herhangi biri, alındığında alma öğesinde ortaya çıkabilir Mouse.PreviewMouseUp .Either of these events might be raised on the receiving element when Mouse.PreviewMouseUp is received.

Bu olayı sınıf işlemede işlenmiş olarak işaretlerseniz alt öğeler yine de oluşturulur; Ancak, işlenen durumu olay verilerinde iletir.If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. Olay sınıf işlemede işlenirse, AddHandler(RoutedEvent, Delegate, Boolean) handledEventsToo işleyicileri eklemek için açıkça birlikte kullanmadığınız sürece alt öğeler için örnek işleyicileri çağrılmaz true .If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use AddHandler(RoutedEvent, Delegate, Boolean) with handledEventsToo true in order to attach handlers. Bu sınıf işleyicileri ile imzaya kaydedilmediği takdirde sınıf işleyicileri de çağrılmaz RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) handledEventsToo true .Class handlers also are not invoked unless those class handlers were registered with the RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) signature with handledEventsToo true. İşlem yaparak OnPreviewMouseUp , sınıf işlemenin tüm olası fare düğmesi eylemleri için dikkate alındığından emin olabilirsiniz.By handling OnPreviewMouseUp, you are implying that your class handling accounted for all possible mouse button up actions. Bu davranış istenmeyen bir durum olabilir; Bu nedenle, olayları işlenmiş olarak işaretlemek için bu sanal yöntemi kullanırken dikkatli olun.This behavior might be unwanted; Therefore, use caution when you use this virtual method to mark events as handled.

Düğmeye özgü doğrudan olayların her birine sanal bir açık yöntem de vardır * ; düğmeye özgü bu sınıf işleyicilerinin geçersiz kılınıp uygun olabileceğini göz önünde bulundurun.Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate.

Bu yöntemin varsayılan bir uygulamasına sahip olmadığı.This method has no default implementation. Devralmada bir ara sınıf bu yöntemi uygulayabileceğinden, uygulamanızda temel uygulamayı çağırmanız önerilir.Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

Bu yöntemin amacı, ortak dil çalışma zamanı (CLR)common language runtime (CLR) yöntemlerde olay düzenine benzer * : Bu yöntem, örnek işleyicisi yerine bir sınıf işleyicisi kurarak türetilmiş sınıflardan eşleşen olayı işleme anlamını sağlar.The purpose of this method is similar to the ortak dil çalışma zamanı (CLR)common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. Bu durumda, eşleşen olay yönlendirilmiş bir olaydır.In this case the matching event is a routed event. Bir * yönlendirilmiş olay, işleyicileri çağıran öğe olmayan bir alt öğe tarafından gerçekleştirilebilmesi için, oturum açma yöntemlerinin uygulama deseninin yönlendirilmiş olaylar için farklı olması gerekir.The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Bu nedenle, uygulamanızın olay verilerinin kaynak özelliklerini incelemesi gerekir.Therefore, your implementation needs to examine the source properties of the event data. Çoğu durumda olayı yeniden denemeyi denememelidir.It should not try to reraise the event in most cases.

Bu yöntemi geçersiz kılarak veya ile sınıf işleyicilerini kaydederek RegisterClassHandler , türetilmiş sınıfları olay ContentElement yolu üzerinde olay alındığında özel sınıf işleyici yöntemleri çağırabilir.Either by overriding this method or by registering class handlers with RegisterClassHandler, derived classes of ContentElement can call private class handler methods when the event is received along the event route. Sınıf işlemenin uygun olduğu bir senaryo olay verilerini işlemek ve yönlendirilmiş olayı işlenmiş olarak işaretlemesidir.One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled.

Şunlara uygulanır

Ayrıca bkz.