ich habe hier eine Fragestellung, die auch durch Google und StackOverflow unbeantwortet geblieben ist - womöglich habe ich aber auch falsch gefragt.
Ich habe hier eine WPF-Anwendung, die eine Landkarte zeichnet. Das ganze sieht wie folgt aus:
private void DrawElement(float[][][] data)
{
//Und los gehts mit Zeichnen
List<PathFigure> li = new();
for (int areaCount = 0; areaCount < data.Length; areaCount++)
{
//Startpunkt ermitteln
Point startPoint = ScaleCoordToPoint(data[areaCount][0][0], data[areaCount][0][1]);
PointsDrawn++;
//PathGeometry zeichnen
PathFigure path = new ();
path.StartPoint = startPoint;
for (int coordCount = 1; coordCount < data[areaCount].Length; coordCount++)
{
Point pt = ScaleCoordToPoint(data[areaCount][coordCount][0], data[areaCount][coordCount][1]);
PointsDrawn++;
path.Segments.Add(new LineSegment(pt, true));
}
li.Add(path);
}
PathGeometry pg = new();
for (int i = 0; i < li.Count; i++)
pg.Figures.Add(li[i]);
li.Clear();
System.Windows.Shapes.Path p = new();
p.Stroke = Brushes.Black;
p.StrokeThickness = 1;
p.Data = pg;
TheCanvas.Children.Add(p);
}
So weit, so gut, so funktionierts. Wenn jemand eine performantere Idee hat, bin ich aufgeschlossen - ist aber nicht die Frage.
Ich möchte nun einen OnMouseOver-Trigger (oder MouseEnter/MouseLeave) an jeden der einzelnen PathGeometry anhängen. Alle Beispiele, die ich bisher gesehen habe - inklusive hier im Forum - befassen sich mit dem Trigger innerhalb des XAML. Das ist okay, wenn man das Objekt im XAML erstellt, aber das ist hier nicht der Fall.
Doch wie mache ich das per Code-Behind ?
Bin für jeden Schubser dankbar.