位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > C# > 問(wèn)題詳情

C# Canvas 控件

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-09

    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)整為兩種不同大小后的情形。

image.png

    其中一個(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>


繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部