Grid面板是WPF中功能最強大的佈局容器,可以將視窗分割成多個不同模組的區域。由於Grid面板非常實用,因此在建立窗體或使用者控制元件時,會自動新增Grid標籤作為頂級容器。
第一步
基於Grid面板的佈局,只需兩步。首先,開發者要確定使用到的行和列的數量。然後,為每個包含的元素指定恰當的行和列。
第二步
Grid面板透過使用物件填充Grid.ColumnDefinitions和Grid.RowDefinitions集合來建立網格。例如,如果開發者需要三行和三列,則程式碼示例如下。
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
第三步
為在單元格中放置各類元素,需要使用Row和Column屬性。這兩個屬性的值都是從0開始的索引數,示例程式碼如下。
<TextBlock Grid.Row="1" Grid.Column="0" Text="test1" />
<TextBlock Grid.Row="2" Grid.Column="0" Text="test2" />
<TextBlock Grid.Row="3" Grid.Column="0" Text="test3" />
第四步
設定行列尺寸,滿足設計要求。Grid面板有三種設定尺寸的方式:1絕對設定尺寸方式,2自動設定尺寸方式,3按比例設定尺寸方式,示例程式碼如下。
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="2*"/>
其他屬性設定
在使用Grid面板佈局時,經常需要跨越單元格,這需要用到屬性RowSpan和ColumnSpan。這兩個屬性可以使控制元件佈局在多行或多列中,例如,按扭佔據第一列中的第一個和第二個單元格,示例程式碼如下。
<Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="2"></Button>