Das DataGrid in Silverlight 3 bietet von Haus aus leider weder ein Click– noch ein DoubleClick-Ereignis. Ich hatte eine Anwendung, bei der eine Suchmaske als Dialog, also als Silverlight ChildWindow, implementiert werden sollte. Der Benutzer gibt verschiedene Suchkriterien ein und bekommt die Suchergebnisse in einem DataGrid präsentiert. Es sollte dabei möglich sein, ein Ergebnis aus dem Grid per Doppelklick auszuwählen und dabei den Dialog zu schließen und das gewählte Element in die aufrufende Maske zu übernehmen.
Die Suche im Web lieferte folgendes:
Die ursprüngliche Lösung:
Andrea Boschin – Silverlight: A Double Click Manager
Darauf aufbauend, als wiederverwendbare Klasse:
Justin Taylor – Handling a DoubleClick on GridRow in Silverlight
Und, wiederum darauf aufbauend, die Implementierung als Behavior:
Danny C. Soltesz – Silverlight datagrid double click behavior
Knowledge wants to be free, just like these articles!