一. 小記
這邊為了以后看的方便,對 UniformGrid 的使用做了一個簡單的歸納。UniformGrid 是一種橫向的網格分割、縱向的網格分割分別是均等的分割的布局類型,故稱為 " 均分布局 "。
二. 一些使用上的特點
1. 各個單元格的大小完全相同,寬與高分別相同;
2. 默認情況下,單元格的數量取決於放入的控件的數量,且單元格一定是行、列數相同,即 1X1、2X2 、3X3 等等的單元格分布;
測試代碼如下:
<UniformGrid> <Rectangle Fill="Aqua"/> <Rectangle Fill="Red"/> </UniformGrid>
測試結果如下,UniformGrid 中只有兩個元素,但是顯示成了 2X2 分布:
★(重要、常用) 3. UniformGrid 有兩個屬性,分別是:Columns 和 Rows ,它們是分別用來指定當前的最大列數和最大的行數,如果只設置了其中一個而不設置另外一個的話,那么沒有設置的那個默認為 1;在設置的這兩個屬性的情況下,UniformGrid 不再會按照行、列數相同來分布,而是按照用戶指定的 Columns 和 Rows 來分布;
測試代碼,我們創建一個 2X3 的 UniformGrid:
<UniformGrid Columns="2" Rows="3"> <Rectangle Fill="Aqua"/> <Rectangle Fill="Red"/> <Rectangle Fill="Red"/> <Rectangle Fill="Aqua"/> <Rectangle Fill="Aqua"/> <Rectangle Fill="Red"/> </UniformGrid>
測試結果如下:
4. 對於 Grid 的屬性 Grid.Row 、Grid.Column 和 Grid.RowSpan 、Grid.ColumnSpan 用在 UniformGrid 上會沒有任何的效果(雖然可以寫上去,因為是附加屬性);
測試代碼如下:
<UniformGrid> <Rectangle Fill="Aqua" Grid.Column="2" Grid.Row="3"/> <Rectangle Fill="RoyalBlue"/> <Rectangle Fill="RoyalBlue" Grid.ColumnSpan="2"/> </UniformGrid>
測試結果如下,對於 Grid.Row 、Grid.Column 和 Grid.ColumnSpan、Grid.RowSpan 是無效的: