WPF-Grid佈局控制元件學習
阿新 • • 發佈:2019-01-11
佈局控制元件有:
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)隨著視窗大小的改變而改變,其餘的按鈕大小都不變。