2012-11-01 19 views
9

Ich habe ein ListView-Steuerelement in XAML. Die Elemente werden durch ein Vorlagensteuerelement mit einem TextBlock innerhalb eines Rasters definiert. Jetzt möchte ich eine Aktion auslösen, wenn ich auf den TextBlock doppelklicke. Zu meiner Überraschung finde ich, dass es kein DoubleClick-Event gibt ...! Ich dachte, es wäre nur der TextBlock, der es nicht hat, aber eigentlich hat es keine Steuerelemente. Ich suche nach DoubleClick und MouseDoubleClick, aber sie sind definitiv abwesend.DoubleClick kann nicht in XAML gefunden werden

Ich habe Vorschläge gelesen, wo ein EventTrigger zu einem Steuerelement mit Gesture = "MouseDoubleClick" hinzugefügt wird. Es sieht vielversprechend aus, aber in meinem Fall beschwert sich der Compiler und sagt mir, dass es keine solche Geste wie MouseDoubleClick gibt. Gleiches gilt für DoubleClick.

Ist das DoubleClick in einigen Versionen von .Net verschwunden? Ich habe .Net Framework 4.5 und das Projekt ist WPF-Anwendung.

Muss ich dumme Problemumgehungen machen, indem ich MouseDown erkenne und die verstrichene Zeit seit dem letzten MouseDown überprüfe? Klingt wie Steinzeit ...

+0

Silverlight 5 unterstützt nur Doppelklick auf Ereignisse. –

Antwort

13

Es ist immer erfrischend, Ihr Problem zu formulieren! Nachdem ich eine Weile nachgedacht habe, dachte ich, dass sie vielleicht den Mausereignissen einen Zähler hinzugefügt haben, anstatt getrennte Ereignisse zu haben. Das scheint der Fall zu sein !!! Das MouseButtonEventArgs verfügt über eine ClickCount-Eigenschaft. Wenn ich nach Wert 2 suche, erkenne ich mein DoubleClick!

Noch ein bisschen komisch, um das DoubleClick einfach rauszuwerfen. Selbst nach der Suche finde ich keinen Hinweis darauf, wann und warum es verschwunden ist.

+0

Wirklich Super Antwort danke für Ihre Zeit und Mühe –

11

einfach die Lösung zeigen Jakob bedeutet:

private void img_MouseDown(object sender, MouseButtonEventArgs e) 
     { 
      if (e.LeftButton == MouseButtonState.Pressed && e.ClickCount == 2) 
      { 
       //DO SOMETHING 
      } 
     } 
Verwandte Themen