私は.NET 3.5でAdornerを使用しています。私はOnRenderをオーバーライドして描画することができますが、外観を変更するにはアドルナーを再描画する必要があります。adorner内のアニメーション(OnRender呼び出し)
私は描画コンテキストをクリアして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));
}
}