J'utilise un Adorner dans .NET 3.5, et je suis capable de dessiner en surchargeant OnRender, mais j'ai besoin de la possibilité de redessiner l'adorner pour changer son apparence. Essentiellement, je cherche un moyen d'effacer le contexte de dessin et d'appeler à nouveau OnRender. Quelle est la meilleure façon de le faire, ou y a-t-il une meilleure approche?Animation à l'intérieur d'un adorner (appelant OnRender)
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));
}
}