estoy usando un Adorner en .NET 3.5, y estoy capaz de dibujar anulando OnRender, pero necesito la capacidad de volver a dibujar el embellecedor para cambiar su apariencia.Animación dentro de un embellecedor (llamando OnRender)
Esencialmente estoy buscando una manera de despejar el contexto de dibujo y llame OnRender nuevo. ¿Cuál es la mejor manera de hacer esto o hay un mejor enfoque?
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));
}
}