wpf 装饰类
可以通过装饰类给现有控件添加显示效果
装饰类需要继承Adorner
public class MoveRotateAdorner : Adorner
{
public MoveRotateAdorner(UIElement adornedElement) : base(adornedElement)
{
}
//重写渲染
protected override void OnRender(DrawingContext drawingContext)
{
//Rect adornedElementRect = new Rect(this.AdornedElement.DesiredSize);
Rect adornedElementRect = new Rect(this.AdornedElement.RenderSize);
// Some arbitrary drawing implements.
SolidColorBrush renderBrush = new SolidColorBrush(Colors.Green);
renderBrush.Opacity = 0.2;
Pen renderPen = new Pen(new SolidColorBrush(Colors.Navy), 1.5);
double renderRadius = 5.0;
// Draw a circle at each corner.
drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.TopLeft, renderRadius, renderRadius);
drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.TopRight, renderRadius, renderRadius);
drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.BottomLeft, renderRadius, renderRadius);
drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.BottomRight, renderRadius, renderRadius);
}
}
调用
var layer = AdornerLayer.GetAdornerLayer(addAdorner);
layer.Add(new MoveRotateAdorner(addAdorner));