Ich benutze einen Adorner in .NET 3.5, und ich kann zeichnen, indem ich OnRender überschreibe, aber ich brauche die Fähigkeit, den Adorner neu zu zeichnen, um sein Aussehen zu ändern.Animation in einem Adorner (Aufruf von OnRender)
Im Wesentlichen bin ich auf der Suche nach einer Möglichkeit, den Zeichnungskontext zu löschen und OnRender wieder aufzurufen. Was ist der beste Weg dies zu tun, oder gibt es einen besseren Ansatz?
public class MyAdorner : Adorner
{
private Brush brush = Brushes.Red;
public DragArrowAdorner(UIElement adornedElement) : base(adornedElement)
{}
public void RedrawWithBrush(Brush newBrush)
{
brush = newBrush;
// redraw..?
}
protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
{
// some drawing code...
drawingContext.DrawRectangle(
brush,
null,
new Rect(AdornedElement.DesiredSize));
}
}