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;
}

}


結果如下所示 :


image

留言

這個網誌中的熱門文章

WPF - 深入 Style

C# – M$ Chart Control 自定 ToolTip 的顯示

Vue.js - 基礎介紹教學