UIElement.AddHandler 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.
İşleyiciyi geçerli öğedeki işleyici koleksiyonuna ekleyerek belirtilen bir yönlendirilmiş olay için yönlendirilmiş olay işleyicisi ekler.
Aşırı Yüklemeler
AddHandler(RoutedEvent, Delegate) |
İşleyiciyi geçerli öğedeki işleyici koleksiyonuna ekleyerek belirtilen bir yönlendirilmiş olay için yönlendirilmiş olay işleyicisi ekler. |
AddHandler(RoutedEvent, Delegate, Boolean) |
İşleyiciyi geçerli öğedeki işleyici koleksiyonuna ekleyerek belirtilen bir yönlendirilmiş olay için yönlendirilmiş olay işleyicisi ekler. Sağlanan işleyicinin, olay yolu boyunca başka bir öğe tarafından işlendi olarak işaretlenmiş yönlendirilmiş olay için çağrılacağı |
AddHandler(RoutedEvent, Delegate)
İşleyiciyi geçerli öğedeki işleyici koleksiyonuna ekleyerek belirtilen bir yönlendirilmiş olay için yönlendirilmiş olay işleyicisi ekler.
public:
virtual void AddHandler(System::Windows::RoutedEvent ^ routedEvent, Delegate ^ handler);
public void AddHandler (System.Windows.RoutedEvent routedEvent, Delegate handler);
abstract member AddHandler : System.Windows.RoutedEvent * Delegate -> unit
override this.AddHandler : System.Windows.RoutedEvent * Delegate -> unit
Public Sub AddHandler (routedEvent As RoutedEvent, handler As Delegate)
Parametreler
- routedEvent
- RoutedEvent
İşlenecek yönlendirilen olayın tanımlayıcısı.
- handler
- Delegate
İşleyici uygulamasına başvuru.
Uygulamalar
Açıklamalar
Özel durum oluşturmadan aynı olay için aynı işleyiciyi birden çok kez ekleyebilirsiniz. Ancak, olay işlendiğinde işleyici aslında birden çok kez çağrılır. Bu nedenle, bu davranışın işleyici uygulamanızda dikkate alınması gereken yan etkileri olabileceğini göz önünde bulundurun.
Bu yöntemi genellikle özel yönlendirilmiş bir olayın Microsoft .NET olay erişim deseni için "add" erişimcisinin uygulanmasını sağlamak için kullanırsınız.
Şunlara uygulanır
AddHandler(RoutedEvent, Delegate, Boolean)
İşleyiciyi geçerli öğedeki işleyici koleksiyonuna ekleyerek belirtilen bir yönlendirilmiş olay için yönlendirilmiş olay işleyicisi ekler. Sağlanan işleyicinin, olay yolu boyunca başka bir öğe tarafından işlendi olarak işaretlenmiş yönlendirilmiş olay için çağrılacağı true
olarak handledEventsToo
belirtin.
public:
void AddHandler(System::Windows::RoutedEvent ^ routedEvent, Delegate ^ handler, bool handledEventsToo);
public void AddHandler (System.Windows.RoutedEvent routedEvent, Delegate handler, bool handledEventsToo);
member this.AddHandler : System.Windows.RoutedEvent * Delegate * bool -> unit
Public Sub AddHandler (routedEvent As RoutedEvent, handler As Delegate, handledEventsToo As Boolean)
Parametreler
- routedEvent
- RoutedEvent
İşlenecek yönlendirilen olayın tanımlayıcısı.
- handler
- Delegate
İşleyici uygulamasına başvuru.
- handledEventsToo
- Boolean
İşleyiciyi, yönlendirilen olay olay verilerinde işlendiğinde bile çağrılacak şekilde kaydetmeyi true
; İşlenen olay zaten işlendi olarak işaretlenmişse işleyicinin çağrılmayacak varsayılan koşulla kaydedilmesini false
.
Varsayılan değer false
.
Yönlendirilmiş bir olayı düzenli olarak yeniden işlenmek isteyip istemediğinizi sormayın.
Örnekler
Aşağıdaki örnek, handledEventsToo
true
kullanarak sayfadaki adlandırılmış öğelerden birine tanımlı işleyici ekleyen bir sayfadaki Initialized olayında çağrılan bir işleyici uygular. Yoldaki başka bir öğe, yoldaki işleme öğesine ulaşmadan önce paylaşılan olay verilerini işlendi olarak işaretlese bile bu işleyici çağrılır.
void PrimeHandledToo(object sender, EventArgs e)
{
dpanel2.AddHandler(Button.ClickEvent, new RoutedEventHandler(GetHandledToo), true);
}
Private Sub PrimeHandledToo(ByVal sender As Object, ByVal e As EventArgs)
dpanel2.AddHandler(Button.ClickEvent, New RoutedEventHandler(AddressOf GetHandledToo), True)
End Sub
Açıklamalar
Düşük düzeyli giriş olaylarını pratik bir şekilde işlemek karmaşık bir görevdir. Birçok denetim, belirli bir olayın işlendi olarak işaretlendiği ve daha sezgisel başka bir olayla değiştirildiği bir davranış uygular. Genel olarak, bir denetim yalnızca bunu yapmak için bir tasarım amacı varsa bir platform giriş olayını işleniyor olarak işaretler. Bazı senaryolarda, bu tasarım amaçları giriş olayını işlemeniz için gereken şey olmayabilir. İşleyicileri true
olarak handledEventsToo
kaydetmenin uygun olduğu bu senaryolar içindir. Ama bunu düzenli olarak yapmamalısın. İşlenmiş olsa bile tüm olaylara yanıt olarak işleyicileri çağırmak kendi uygulama olay işleme mantığınızı karmaşıklaştırır. İşleyici mantığı önemliyse performansta düşüş görebilirsiniz. Geliştirme işlemi sırasında belirli denetimlerin hala uygulama mantığıyla işlemek istediğiniz olayları işlediğini keşfettiğiniz durumlar için zaten işlenmiş olaylar için işleyici ekleme kullanımını ayırmanız gerekir.
Belirli olay denetimi birleşimlerinin sınıf işleme davranışını önlemeye yönelik bir diğer teknik de bu olayın önizleme alternatifini kullanmaktır. Örneğin, MouseLeftButtonDown sınıf işleme tarafından işlendi olarak işaretlenirse, bunun yerine PreviewMouseLeftButtonDown için işleyiciler ekleyebilirsiniz.
Özel durum oluşturmadan aynı olay için aynı işleyiciyi birden çok kez ekleyebilirsiniz. Ancak, olay işlendiğinde işleyici aslında birden çok kez çağrılır. Bu nedenle, bu davranışın işleyici uygulamanızda dikkate alınması gereken yan etkileri olabileceğini göz önünde bulundurun.
Bu yöntemi genellikle özel yönlendirilmiş bir olayın Microsoft .NET olay erişim deseni için "add" erişimcisinin uygulanmasını sağlamak için kullanırsınız.