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

C# Canvas 控件

提問人:劉團圓發(fā)布時間:2020-12-09

    Canvas控件可以完全自由地對控件的位置進行安排。同時,對Canvas的子元素應用HorizontalAligment和 VerticalAligtimenl;屬性并不會改變這些元素的位置。

    如之前的例子所示,可使用Margin屬性來定位元素,但最好使用Canvas類公開的Canvas.Left、Canvas.Top、Canvas.Right 和 Canvas.Bottom 附加屬性。

<Canvas...>

  <Button Canvas.Top="10" Canvas.Left="10”,..>Buttonl</Button>

</Canvas>

    上面這段代碼將Button控件定位到距離Canvas控件頂部和左側各10像素的位置。需要注意,Top和Left屬性的優(yōu)先級高于Bottom和Right屬性。例如,如果同時指定Top和Bottom屬性,Bottom屬性會被忽略掉。

下圖分別展示了在Canvas控件中放置兩個Rectangle控件,并將窗口調整為兩種不同大小后的情形。

image.png

    其中一個Rectangle控件的位置相對于左上角進行設置,而另一個則相對于右下角進行設置。調整窗口大小 時,它們各自的相對位置保持不變。還可以看到Rectangle控件堆疊順序的重要性。右下角的Rectangle控件位于上層,所以當兩者重疊時,用戶看到的是這個控件.

本示例的代碼如下所示(可在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ù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部