Ich habe bislang vorwiegend kleine Spielereien in C# mit XNA programmiert. Da muss man sich mit Events nicht groß auskennen. Nun arbeite ich mich gerade in WPF ein um ein kleines Spieleprojekt zu realisieren. Hierfür möchte ich, dass jedes Mal, wenn die linke Maustaste gedrückt wird, eine kleine Aktion ausführen wie z.B. einen Sound abspielen. Ich möchte hierfür dieses Event nicht an jedes anklickbare Element ranhängen, sondern möglichst nur ein einziges Mal.
Wie gehe ich vor?
Halllo bra10,
Du könntest das ganze einfach an das Window hängen, die Frage wäre dann nur welche anklickbaren Elemente Du verwenden möchtest.
Denn wenn Du zb einen Button oder eine Textbox hast, würde dieses Event von dem jeweiligen Element selber behandelt werden und nicht von deinem Fenster.
Viele Grüße
Lars
weiß ich nicht genau.
Aber ich fand diese Klasse im ObjectBrowser:
System.Windows.Input.Mouse
Und die verfügt auch über geeignete RoutedEvent-DependancyProperties, etwa
System.Windows.Input.Mouse.MouseDownEvent
So DepProps kann man iwie abonnieren mit glaub was "AddEvent" heißt, aber vlt. bringe ich auch was durcheinander.
Jdfs. in diese Richtung würde ich mal forschen.
Der frühe Apfel fängt den Wurm.
...für weitere Tipps bin ich weiterhin dankbar 😉
Schau dir mal den Artikel an. MSDN:Routingereignisse und -befehle in WPF
Bin jetzt nur drüber geflogen, OnChildeElementMousDown, das sieht so aus als ob du das Suchst.
Sender so dann das eigendlich geclickte Element sein.
Sollte man mal gelesen haben: