Win10系列:C#應用控制元件進階5
多線形
多線形和多邊形類似,不同點在於多線形中最後一個點和第一個點不會預設被連線。在多線形的點集中,可以存在同一個開始點和終結點因而會定義成閉合圖形。下面將演示如何使用Polyline控制元件繪製一個多線形。
在一個開啟的Windows應用商店專案中新建一個空白頁,並命名為PolylinePage,雙擊開啟此頁面的PolylinePage.xaml檔案,在Grid元素中新增如下繪製多線形的程式碼。
<Polyline Stroke="Red" StrokeThickness="5" Points="70,100 10, 150 210,150 100,100"/>
上面程式碼繪製的多線形由Points集合的四個點(70,100)、(10,150)、(210,150)和(100,100)來控制形狀。接著設定Stroke和StrokeThickness屬性為紅色、5畫素,從而定義一個輪廓顏色為紅色、輪廓粗細為5畫素的多邊形。此多邊形第一個點和最後一個點不會像Polygon元素那樣由Stroke輪廓連線起來。執行效果如圖8-6所示。
前面介紹了使用前臺程式碼繪製多邊形,接下來看一下使用後臺程式碼繪製此多邊形的過程,具體實現程式碼如下所示:
public PolylinePage()
{
this.InitializeComponent();
//開始繪製多線形
Polyline polyline = new Polyline();
polyline.Stroke = new SolidColorBrush(Colors.Red);
//例項化points物件
PointCollection points = new PointCollection();
//把點新增到點集合中
points.Add(new Point(70, 100));
points.Add(new Point(10, 150));
points.Add(new Point(210, 150));
points.Add(new Point(100, 100));
polyline.Points = points;
//將多邊形放到名字為MyCanvas的控制元件中
MyCanvas.Children.Add(polyline);
}
在上面的程式碼中,首先例項化一個Polyline型別的物件polyline,設定Stroke屬性為紅色,接著定義存放點集的points物件,利用points物件的Add屬性新增四個點,把points賦值給polyline物件的Points屬性,最後呼叫MyCanvas容器物件的Children屬性中的Add方法,將這個多線形加入到頁面中顯示。
執行此頁面,多線形執行效果如圖8-6所示。
圖8-6 多線形形狀效果圖