C# Canvas 控件
Canvas控件可以完全自由地對(duì)控件的位置進(jìn)行安排。同時(shí),對(duì)Canvas的子元素應(yīng)用HorizontalAligment和 VerticalAligtimenl;屬性并不會(huì)改變這些元素的位置。
如之前的例子所示,可使用Margin屬性來(lái)定位元素,但最好使用Canvas類公開的Canvas.Left、Canvas.Top、Canvas.Right 和 Canvas.Bottom 附加屬性。
<Canvas...>
<Button Canvas.Top="10" Canvas.Left="10”,..>Buttonl</Button>
</Canvas>
上面這段代碼將Button控件定位到距離Canvas控件頂部和左側(cè)各10像素的位置。需要注意,Top和Left屬性的優(yōu)先級(jí)高于Bottom和Right屬性。例如,如果同時(shí)指定Top和Bottom屬性,Bottom屬性會(huì)被忽略掉。
下圖分別展示了在Canvas控件中放置兩個(gè)Rectangle控件,并將窗口調(diào)整為兩種不同大小后的情形。
其中一個(gè)Rectangle控件的位置相對(duì)于左上角進(jìn)行設(shè)置,而另一個(gè)則相對(duì)于右下角進(jìn)行設(shè)置。調(diào)整窗口大小 時(shí),它們各自的相對(duì)位置保持不變。還可以看到Rectangle控件堆疊順序的重要性。右下角的Rectangle控件位于上層,所以當(dāng)兩者重疊時(shí),用戶看到的是這個(gè)控件.
本示例的代碼如下所示(可在LayoutE?camples\Canvas.xaml下載文件中找到):
<Window x:Class="LayoutExamples.Canvas"
xmlns="http: //schemas. microsof t.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
xmlns:d="http: //schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http: //schemas.openxml formats.org/markup-compatibility/2006"
xmlns:local="clr-narnespace:LayoutExamples"
mc:Ignorable="d"
Title="Canvas" Height="300" Width="300">
<Canvas Background""AliceBlue,r>
<RecCangle Canvas . Lef t="50" Canvas.Top="50" Height="40" Width="100"
Stroke="Black" Fill="Chocolate" />
<Rectangle Canvas.Right="50" Canvas.Bottom="50" Height="40" Width="100"
Stroke="Black" Fill="Bisque" />
</Canvas>
</Window>
點(diǎn)擊加載更多評(píng)論>>