WPF – 使用 DrawingVisual 描繪圖形
在 WPF 中有很多種方式來描繪圖形, 其 DrawingVisual 是一個輕量級的 Class, 它需一個 container 來承接, 並不提供 Layout, Hit-Testing 及 Event-Handling.
那來實作一下如何使用 DrawingVisual 來描繪圖形.
建立一個 class, 它繼承 FrameworkElement Class, 並描繪一個 Rectangle .
public class MyVisualHost : FrameworkElement
{
private VisualCollection childern;
public MyVisualHost() {
childern = new VisualCollection(this);
childern.Add(CreateDrawingVisualRectangle());
}
protected override int VisualChildrenCount
{
get
{
return childern.Count;
}
}
protected override Visual GetVisualChild(int index)
{
return childern[index];
}
private DrawingVisual CreateDrawingVisualRectangle()
{
DrawingVisual drawing = new DrawingVisual();
using (DrawingContext content = drawing.RenderOpen())
{
content.DrawRectangle(Brushes.Red, new Pen(Brushes.Blue, 3), new Rect(new Point(100, 100), new Size(30, 30)));
content.Close();
}
return drawing;
}
}
結果如下所示 :
留言
張貼留言