1. 程式人生 > >WPF-Grid佈局控制元件學習

WPF-Grid佈局控制元件學習

佈局控制元件有:
Grid,DockPanel,StackPanel,Canvas,WrapPanel
Grid是佈局控制元件,用來定義網格(行列),程式碼如下:
RowDefinitions屬性用來定義行,這個屬性是一個集合屬性,由多個RowDefinition組成,每個RowDefinition代表一行,行只有Height屬性,沒有Width屬性,Height屬性用來設定行的高度,高度可以採用絕對值(畫素的個數,不隨視窗的大小變換而變換)也可以採用相對值(隨視窗的大小變換而變化),相對值在值得後面加*表示。
ColumnDefinitions屬性用來定義列,用法與RowDefinition類似。
控制元件佔據行或列位置的時候,行列都是從0開始,Grid.Row=0代表該控制元件佔據第1行,RowSpan代表該控制元件佔據幾行。Grid.Column和Grid.ColumnSpan類似。下面是一個示例。

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="30" />
            <RowDefinition Height="20*" />
            <RowDefinition Height="30*" />
        </Grid.RowDefinitions>
        <!--<Grid.ColumnDefinitions>
            <ColumnDefinition Width="10*"
/> <ColumnDefinition Width="20*" /> <ColumnDefinition Width="200" /> </Grid.ColumnDefinitions>--> <Grid Grid.Row="0" Grid.Column="0" > <Grid.ColumnDefinitions> <ColumnDefinition Width="30" /> <ColumnDefinition Width="30*"
/> <ColumnDefinition Width="30" /> <ColumnDefinition Width="30" /> <ColumnDefinition Width="30" /> </Grid.ColumnDefinitions> <Button Grid.Column="0" Content="0" /> <Button Grid.Column="1" Content="1" /> <Button x:Name="minWindow" Grid.Column="2" Content="-" Click="ResizeThisWindow" /> <Button x:Name="maxWindow" Grid.Column="3" Content="□" Click="ResizeThisWindow" /> <Button Grid.Column="4" Content="X" Click="CloseWindows" Background="Red" /> </Grid> </Grid>

視窗正常大小:
這裡寫圖片描述
視窗最大化,可以看到
這裡寫圖片描述
可以看到只有第二個按鈕(按鈕上面的字為1)隨著視窗大小的改變而改變,其餘的按鈕大小都不變。