像是Grid, DockPanel, WrapPanel...
其中Grid是比較單純的元件
可以想像成在word裡面的表格
將表格配置好,然後把相應的內容填入表格
這樣所有的東西的位置就會對齊好了
要新增一個Grid就在XAML裡面加入
<Grid>
</Grid>
也可以在C#裡面直接加入
public void AddGrid(Window w)
{
/// new a grid in corrosponding window
Grid g = new Grid();
w.Content = g;
}
再來是要把Grid切成想要的大小
這時候就需要藉由設定Grid的
ColumnDefinitions以及RowDefinitions來改變欄位配置
假設這時候需要切成三行
那就把剛剛插入XAML裡面的語法換成
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
</Grid>
或是在C#裡面改成
public void AddGrid(Window w)
{
/// new a grid in corrosponding window
Grid g = new Grid();
/// new two rows with height as star
RowDefinition r1 = new RowDefinition();
r1.Height = new GridLength(10, GridUnitType.Star);
RowDefinition r2 = new RowDefinition();
r2.Height = new GridLength(10, GridUnitType.Star);
/// add the rows into g
g.RowDefinitions.Add(r1);
g.RowDefinitions.Add(r2);
/// set g as the content of w
w.Content = g;
}
RowDefinition的Height值跟ColumnDefinition的Width
同樣都是GridLength的物件來表示
可以直接設成Auto, *, 或是直接給值
種類 | 說明 |
---|---|
Auto | 依照內容物改變大小 |
* | 依照欄數自動均分母窗體的大小, 可加比例,如2*即代表佔兩份的意思 |
值 | 直接定義該攔獲該行需的長寬, 可加單位,如 50px, 2in, 1cm, 或40pt |
--
參考資料
HOW TO:在方格中加入資料列和資料行
GridLength Structure
GridUnitType Enumeration
沒有留言:
張貼留言