Mouse.MouseDown İliştirilmiş Olaylar

Tanım

Herhangi bir fare düğmesi basılı olduğunda gerçekleşir.

see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler

Açıklamalar

Hangi fare düğmesinin ChangedButton basılı olduğunu belirlemek için işleyiciye geçirilen içindeki özelliğini MouseButtonEventArgs denetleyin.

Bu ekli bir olaydır. WPF, ekli olayları yönlendirilmiş olaylar olarak uygular. Ekli olaylar temelde bir XAML dil kavramıdır ve bu olayı tanımlamayan nesneler üzerinde işlenebilir olaylara başvurur ve WPF de olayın bir rotadan geçmesine olanak tanıyarak bu olayı genişletir. Ekli olayların kodda doğrudan işleme söz dizimi yoktur; kodda yönlendirilmiş bir olayın işleyicilerini eklemek için belirlenmiş bir Add*Handler yöntemi kullanırsınız. Ayrıntılar için bkz. Ekli Olaylara Genel Bakış.

Windows Presentation Foundation (WPF) çerçevesi, ve üzerinde iki farklı ortak dil çalışma zamanı (CLR) olayı olarak gezinerek bu ekli olayı temel UIElement alır: MouseLeftButtonDown ve ContentElementMouseRightButtonDown. Bu uygulamalar, temel alınan MouseDown olayı işler ve sol veya sağ fare düğmesinin söz konusu olup olmadığını belirlemek için olayın bağımsız değişkenlerini okur. Üç düğmeli fare için orta düğme için çerçeve düzeyinde olay desteği yoktur. Olayı kullanmanız MouseDown ve olay bağımsız değişkenlerinde durumu denetlemeniz MiddleButton gerekir.

Önemli

Denetim benzeri davranışa sahip birkaç ContentElement türetilmiş sınıf, örneğin, Hyperlinkfare düğmesi olayları için doğası gereği sınıf işlemeye sahip olabilir. Sol fare düğmesi aşağı olayı, bir denetimde sınıf işlemeye sahip olma olasılığı en yüksek olaydır. Sınıf işleme genellikle temel sınıf Mouse olayını işlenmiş olarak işaretler. Olay işlendi olarak işaretlendikten sonra, bu öğeye eklenen diğer örnek işleyicileri normalde tetiklenmez. Kullanıcı arabirimi ağacının köküne doğru kabarcık yönündeki öğelere bağlı olan diğer sınıf veya örnek işleyicileri de normalde tetiklenmez.

Yukarıdaki Önemli notta özetlenen sorunu çözebilirsiniz ve yine de bu çözümlerden birini kullanarak sınıf işlemesi olan türetilmiş bir sınıfta sol fare düğmesi kapalı olayları için olayları alabilirsiniz MouseDown :

  • Denetimler tarafından işlendi olarak işaretlenmemiş olay için PreviewMouseDown işleyiciler ekleyin. Bu bir önizleme olayı olduğundan, yolun kökte başladığına ve denetime kadar tüneller olduğuna dikkat edin.

  • İşleyicileri çağırarak AddHandler ve yönlendirilen olay verilerinde zaten işlendi olarak işaretlenmiş olsalar bile olayları dinlemesini sağlayan imza seçeneğini belirleyerek denetime bir işleyici kaydedin.

Fareyle ilgili yönlendirilmiş olaylar için, bunların nasıl veya ne zaman işlendiğini işaretlediğiniz konusunda dikkatli olun. Üst öğelerin herhangi bir fare eylemi hakkında da bilgilendirilip bilgilendirilmemesi gerektiği konusunda uygun seçimleri yapmanın zorluğu aslında WPF çerçevesinin temel fareyle yönlendirilen olayın yol boyunca CLR olayları olarak ortaya çıkarılma modelini seçmesinin nedenidir. Fare olaylarına tünel oluşturma ile ilgili benzer sorunlar vardır. Olayı işlemeli ve daha fazla alt öğe tarafından kaynağa doğru işlenmemeli ve bu, birleştirme parçalarının beklenen fare davranışlarına sahip olabileceği bir denetimi birleştirmeyi nasıl etkiler?

Yönlendirilmiş Olay Bilgisi

Tanımlayıcı alanı MouseDownEvent
Yönlendirme stratejisi Köpürme
Temsilci MouseButtonEventHandler

Şunlara uygulanır