Win10系列:C#應用控件進階4


多邊形

若要繪制多邊形需要用到Polygon元素,並通過定義一系列的點繪制多邊形Polygon類型的對象有Points屬性, 這個屬性用來定義組成邊的點集。在前台代碼中,使用空格分隔各個點,然后利用逗號分隔坐標點來定義點坐標。不必為了將起點和終點指定為相同的值而聲明閉合點,Polygon類假設要定義閉合形狀,並且會自動將終點與起點連起來。下面將演示如何繪制一個多邊形。

在一個打開的Windows應用商店項目中新建一個空白頁,並命名為PolygonPage,雙擊打開此頁面的PolygonPage.xaml文件,在Grid元素中添加如下代碼。

<Polygon Fill="Red" Points="70,100 10,200 210,200 100,100" />

上面的代碼使用Polygon控件的Points屬性設置多邊形的4個頂點坐標分別為 (70,100)、(10,200)、(210,200)和(100,100),接着使用Red給Fill屬性賦值,從而繪制一個填充顏色為紅色的多邊形。沒有對Stroke屬性賦值,以便它沒有外圍輪廓

接下來介紹使用后台代碼繪制多邊形。與前台代碼不一樣的是,后台代碼需要使用 PointCollection類型的對象存放各個點,接着將每個點作為一個Point對象添加到集合中,然后把集合對象的值賦值給Points屬性,這樣便可以繪制與前台一樣的多邊形。代碼如下所示:

public PolygonPage()

{

this.InitializeComponent();

Polygon polygon = new Polygon();

polygon.Fill = new SolidColorBrush(Colors.Red);

//實例化一個pointCollenction的對象

PointCollection points = new PointCollection();

//添加點

points.Add(new Point(70, 100));

points.Add(new Point(10, 200));

points.Add(new Point(210, 200));

points.Add(new Point(100, 100));

//設置polygon的點

polygon.Points = points;

MyCanvas.Children.Add(polygon);

}

在上面的代碼中,首先實例化一個Polygon類型的對象polygon,設定Stroke屬性為紅色,接着定義存放點集的PointCollection類型的points對象,利用points對象的Add屬性添加四個點,然后把points賦值給polygon對象的Points屬性,這樣便可以繪制一個與前台方式實現效果一致的多邊形,最后調用MyCanvas容器對象的Children屬性中的Add方法,將這個多邊形加入到頁面中顯示。

運行此頁面,繪制多邊形的效果如圖8-5所示。

圖8-5 簡單的多邊形


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com