| 

.NET C# Java Javascript Exception

2
Hallo,
folgendes Problem:

Ich habe ein Grid mit x Spalten.
Ich möchte nun mit einem Mouse Event ermitteln, über welcher Spalte sich die Maus befindet.
Die Spalten selbst sind leer.
Gefunden habe ich bisher nur eine Methode um herauszufinden, in welche spalte ein Element liegt, das ist aber leider nicht das, was ich suche.

Danke fürs helfen.
News:
04.02.2013
jtt 11 3
2 Antworten
0
ausgehend von deiner Frage und einer kleinen Google-Suche hoffe ich, dass dich dieses kleine Code-Snippet auf den richtigen Weg zur Lösung führt:

private void OnMouseMove(object sender, MouseEventArgs e)
{
var element = (UIElement)e.Source;

int c = Grid.GetColumn(element);
int r = Grid.GetRow(element);
}

ist halt in diesem Fall der MouseMove event handler vom Grid
05.02.2013
Karill Endusa 1,5k 1 9
Leider erhalte ich dadurch nicht die aktuelle spalte. Wenn ich innerhalb dieser Spalten weitere UIElemente hätte und auf diese das Event mappe, dann würde es gehen. Leider ist das in meinem Fall nicht umsetzbar (käme zu Konflikten innerhalb einer Spalte bei einem 'magic' grid für das event)
jtt 06.02.2013
0
Angenommen, Dein Grid liegt in einem Fenster. Dann meldest Du Dich für ein MouseEvent des Fensters an und führst mithilfe des VisualTreeHelpers einen sog. HitTest durch. Dieser liefert Dir dann das oberste Element im VisualTree an der (Maus)Position, für die Du den HitTest abgefragt hast.

Ausführliche Informationen findest Du unter Hit Testing in the Visual Layer
06.02.2013
ffordermaier 8,4k 3 9

Stelle deine Event-Frage jetzt!