c# WPF的DrawingVisual类

求用 WPF的DrawingVisual类 画一个圆的代码,要注释

第1个回答  推荐于2017-09-14
public class DrawingHost : FrameworkElement
{
private DrawingVisual _drawingVisual = new DrawingVisual();

public DrawingHost()
{
// 必须加入到VisualTree中才能显示
this.AddVisualChild(_drawingVisual);
this.Draw();
}

// 重载自己的VisualTree的孩子的个数,由于只有一个DrawingVisual,返回1
protected override int VisualChildrenCount
{
get { return 1; }
}

// 重载当WPF框架向自己要孩子的时候,返回返回DrawingVisual
protected override Visual GetVisualChild(int index)
{
if (index == 0)
return _drawingVisual;

throw new IndexOutOfRangeException();
}

// 绘制代码
private void Draw()
{
var dc = _drawingVisual.RenderOpen();
dc.DrawEllipse(Brushes.Blue, null, new Point(50, 50), 50, 50);
dc.Close();
}
}本回答被提问者采纳
相似回答