Udostępnij za pośrednictwem


Mouse.MouseDown Zdarzenie dołączone

Definicja

Występuje, gdy dowolny przycisk myszy jest przygnębiony.

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

Uwagi

Aby określić, który przycisk myszy został obniżony, sprawdź ChangedButton właściwość w przekazanym MouseButtonEventArgs programie obsługi.

Jest to dołączone zdarzenie. WPF implementuje dołączone zdarzenia jako zdarzenia kierowane. Dołączone zdarzenia są zasadniczo koncepcją języka XAML służącą do odwoływania się do zdarzeń, które mogą być obsługiwane w obiektach, które nie definiują tego zdarzenia, co rozszerza WPF, włączając również zdarzenie do przechodzenia przez trasę. Dołączone zdarzenia nie mają składni obsługi bezpośredniej w kodzie; aby dołączyć programy obsługi dla zdarzenia kierowanego w kodzie, należy użyć wyznaczonej metody Add*Handler. Aby uzyskać szczegółowe informacje, zobacz Omówienie dołączonych zdarzeń.

Struktura Windows Presentation Foundation (WPF) opiera się na tym dołączonym zdarzeniu, przeglądając je jako dwa różne zdarzenia środowiska uruchomieniowego języka wspólnego (CLR) w systemach UIElement i : MouseLeftButtonDown i ContentElementMouseRightButtonDown. Implementacje te obsługują zdarzenie bazowe MouseDown i odczytują argumenty zdarzenia, aby określić, czy był zaangażowany lewy lub prawy przycisk myszy. W przypadku myszy z trzema przyciskami nie ma obsługi zdarzeń na poziomie platformy dla przycisku środkowego. Należy użyć MouseDown zdarzenia i sprawdzić MiddleButton stan w argumentach zdarzeń.

Ważne

ContentElement Kilka klas pochodnych, które mają zachowanie podobne do kontrolek, na przykład , Hyperlinkmoże mieć wbudowaną obsługę klas dla zdarzeń przycisku myszy. Zdarzenie w dół przycisku myszy po lewej stronie jest najbardziej prawdopodobnym zdarzeniem obsługującym klasę w kontrolce. Obsługa klas często oznacza zdarzenie klasy bazowej Mouse jako obsługiwane. Gdy zdarzenie zostanie oznaczone jako obsługiwane, inne programy obsługi wystąpień dołączone do tego elementu nie są zwykle wywoływane. Wszystkie inne programy obsługi klas lub wystąpień dołączone do elementów w kierunku bubbling w kierunku katalogu głównego w drzewie interfejsu użytkownika również nie są zwykle podniesione.

Możesz rozwiązać problem opisany w poprzedniej ważnej notatce i nadal odbierać MouseDown zdarzenia dla zdarzeń lewego przycisku myszy w dół w klasie pochodnej, która obsługuje klasy przy użyciu jednego z następujących rozwiązań:

  • Dołącz programy obsługi dla PreviewMouseDown zdarzenia, które nie jest oznaczone jako obsługiwane przez kontrolki. Zwróć uwagę, że ponieważ jest to zdarzenie w wersji zapoznawczej, trasa rozpoczyna się od katalogu głównego i tuneli w dół do kontrolki.

  • Zarejestruj procedurę obsługi w kontrolce, wywołując AddHandler i wybierając opcję podpisu, która umożliwia programom obsługi nasłuchiwanie zdarzeń, nawet jeśli są one już oznaczone jako obsługiwane w danych zdarzeń trasowanych.

W przypadku zdarzeń kierowanych, które odnoszą się do myszy, należy zachować ostrożność podczas oznaczania ich obsługi. Trudności w podejmowaniu odpowiednich wyborów dotyczących tego, czy elementy nadrzędne powinny być również informowane o każdej akcji myszy, jest w rzeczywistości dlatego struktura WPF wybrała model posiadania bazowego zdarzenia kierowanego myszą, które ma być wyświetlane jako zdarzenia CLR wzdłuż trasy. Podobne problemy istnieją w przypadku zdarzeń tunelowania myszy. Czy należy obsłużyć zdarzenie i nie obsługiwać go przez dalsze dzieci w kierunku źródła i jak to wpłynie na kompositing kontrolki, w której kompositing elementów może mieć oczekiwane zachowania myszy?

Informacje dotyczące kierowanego zdarzenia

Pole identyfikatora MouseDownEvent
Strategia routingu Propagacji
Delegat MouseButtonEventHandler

Dotyczy