Ich versuche derzeit, Klassen für eine Paint-ähnliche WPF-Anwendung zu erstellen. Ich muss die Klassen LineMovement (Linie von StartPoint zu EndPoint) und PathMovement (Linie, die alle in einer Eigenschaft angegebenen Punkte vom Typ PointCollection durchläuft). Diese Klassen erben von Control und erhalten ihre Looks durch ein ControlTemplate.Erzwingen eines Repaint eines WPF-Steuerelements
Die ControlTemplate fügt der AdornerLayer der Bewegungsobjekte auch einen Adorner hinzu, der einen kleinen visuellen Marker für jeden beweglichen Punkt der spezifischen Linie enthält. Diese Marker unterstützen das Ziehen mit der Maus.
Das Problem, das ich habe, ist, dass meine Bewegungs-Klassen nicht neu streichen, wenn ihre Punkte verschoben werden. Ich debugged meinen Code mit Mole und fand heraus, dass die Polyline, die verwendet wurde, um die Linie zu visualisieren, die geänderten Punktwerte erhält (sichtbar in ihrer Points-Eigenschaft), aber sie streicht einfach nicht neu.
Wie kann ich ein Repaint eines WPF-Steuerelements erzwingen?
Habe das schon ausprobiert. Es hilft immer noch nicht :(. Das wirklich seltsame Ding ist, dass, wenn ich Mole verwende, um in die Polylinie zu schauen, die die Bewegung darstellt, dass ihre Punktsammlung den geänderten Punkt zeigt, aber nicht neu gestrichen wird. Wenn ich Maulwurf verwende " bearbeite "(aka nimm die Saite ohne Änderung und drücke die" Speichern "Taste) die PointsCollection der Polyline es so wie es soll neu gemalt wird. – chrischu