.NET GUI

.NET Community rund um alle Graphical User Interface (GUI) Themen.
Willkommen bei .NET GUI. Anmeldung | Registrieren | Hilfe | Impressum | Forumsregeln
in Suchen

MouseLeftButtonUp-Event

Letzter Beitrag 05-16-2008 13:30 von Norbert Eder. 3 Antworten.
Seite 1 von 1 (4 Treffer)
Beiträge sortieren: Zurück Weiter
  • 05-16-2008 10:42

    • prog1
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 04-11-2008
    • Karlsruhe
    • Beiträge 42
    • Punkte 830

    MouseLeftButtonUp-Event

    Habe zum test mal eine kleine WPF-Anwendung mit Window und Button erstellt.

    Dann einfach den "MouseLeftButtonUp"-Event für den Button implementiert und es passiert einfach garnichts...

    Der "MouseDoubleClick"-Event funktioniert ohne Problemen...

    Steh ich mal wieder auf dem Schlauch?

    Anzumerken ist, dass ich die Events nicht über XAML sondern in der CodeBehind-Datei eingefügt habe.

    Füge ich den Event über die XAML-Datei ein funktioniert es z.B. mit dem "MouseRightButtonUp"-Event ohne Problem.

    Warum funktioniert aber der DoppelClick, ohne dass er in der XAML-Datei auftaucht?

     

    • Beitragspunkte: 20
    • IP-Adresse ist Registriert
  • 05-16-2008 11:36 Antwort zu

    • Norbert Eder
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 04-09-2008
    • Graz / Austria
    • Beiträge 330
    • Punkte 5.039
    • ForumsAdministrator

    AW: MouseLeftButtonUp-Event

    Answer
    Die Erklärung ist eine ganz einfache:

    Ein Button selbst ist kein einzelnen Control, sondern besitzt weitere Child-Elemente. Nun möchte der Hersteller eines Controls nicht unbedingt, dass gewisse Events weitergegeben werden und markiert diese als behandelt. Im Falle des Buttons wird das Event MouseLeftButtonUp wegen des Click-Events als markiert behandelt. Es besteht kein Grund, bei einem Button auf MouseLeftButtonUp zu reagieren, da dies dem Click-Event gleich kommt. Das Event kann zwar abonniert werden, wird aber nie geraised, da vom Button selbst abgefangen.

    Du könntest eventuell das PreviewMouseLeftButtonUp-Event verwenden, welches jedoch ein Tunneling-Event darstellt und daher eventuell vielleicht nicht ganz das ist, was du möchtest. Weiters gäbe es die Möglichkeit, selbst noch behandelte Events (RoutedEvents) abzufangen, beispielsweise einfach das Loaded-Event abonnieren und für das entsprechende Element via AddHandler, einen Handler hinzufügen.
    • Beitragspunkte: 20
    • IP-Adresse ist Registriert
  • 05-16-2008 11:50 Antwort zu

    • prog1
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 04-11-2008
    • Karlsruhe
    • Beiträge 42
    • Punkte 830

    AW: MouseLeftButtonUp-Event

    Preview funktioniert.

    Nur das Ich das richtig verstanden habe...

    Tunneling -> Preview event -> geht von Oben nach unten.

    Bubbling -> "just in time" event -> geht von unten nach oben -> kommt deshalb nicht an, da der Button es als behandelt "markiert".

     

    • Beitragspunkte: 20
    • IP-Adresse ist Registriert
  • 05-16-2008 13:30 Antwort zu

    • Norbert Eder
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 04-09-2008
    • Graz / Austria
    • Beiträge 330
    • Punkte 5.039
    • ForumsAdministrator

    AW: MouseLeftButtonUp-Event

    Genau. Und dann gibt's noch die altbekannten Direct Events ... :)
    • Beitragspunkte: 5
    • IP-Adresse ist Registriert
Seite 1 von 1 (4 Treffer)
Powered by Community Server (Commercial Edition)    Hosting powered by 69° media solutions