最近對UWP開發比較感興趣,大概瞭解之後覺得有必要回顧一下xaml相關內容。。於是抽時間把以前學WPF的相關材料搜羅了一下順便和新的xaml特性做了一個小總結。。希望能堅持寫下去吧。。O(∩_∩)O~ 個人覺得還是從比較零散的xaml佈局開始寫比較合適,這部分直接決定了應用程式的實用性,尤其是在出....
最近對UWP開發比較感興趣,大概瞭解之後覺得有必要回顧一下xaml相關內容。。於是抽時間把以前學WPF的相關材料搜羅了一下順便和新的xaml特性做了一個小總結。。希望能堅持寫下去吧。。O(∩_∩)O~
個人覺得還是從比較零散的xaml佈局開始寫比較合適,這部分直接決定了應用程式的實用性,尤其是在出現了各種終端和平臺相容思想的應用更突顯出layout的重要性。
還是喜歡把比較有用的東西寫在前面(感覺比較正式),在考慮佈局的時候務必要註意一下幾點:
- 最好不要將佈局中元素的位置固定,儘量應用類似
Alignment這類控制位置的屬性結合
Margin
來調節元素的位置。 - 不要為元素的寬度(
Width
)和高度(Height
)屬性定值,儘量為賦值為Auto。這主要是因為不夠靈活,後期修改很麻煩,取而代之可以使用最小高度(
MinHeight)
, 最大高度(MaxHeight)
, 最小寬度(MinWidth)和
最大寬度(MaxWidth)
四個屬性指定控制項元素寬度和高度範圍,在不同的佈局容器中達到靈活控制的效果。 - 除了繪製指定的矢量圖形或者其他特殊需求,否則不要使用canvasPanel佈局。
- 設計佈局要儘量從簡,比如設計對話框的操作按鈕,選擇最簡單的StackPanel即可。
- 建議使用GridPanel來設計輸入數據的表單。
以上這些為經驗淺談,個別看不懂沒關係,把基礎的layout知識點學完,進入開發階段再來看也行。。
接下來介紹一些和佈局相關的屬性用於調節控制項在佈局中的位置
首先介紹兩個重要的屬性:水平對齊方式(HorizontalAlignmant
)和豎直對齊方式(VerticalAlignment
)。簡單理解就是指明元素在佈局中的對齊方式。其中,水平對齊方式(HorizontalAlignmant
)包括左對齊(Left)、右對齊(Right)、水平居中(Center)、水平拉伸(Strech)。豎直對齊方式(VerticalAlignment
)包括頂部對齊(Top)、底部對齊(Bottom)、豎直拉伸(Strech)。兩個屬性可以組合使用,具體的效果如圖所示:
接下來需要瞭解兩個常用的佈局屬性外邊距(Margin)和內邊距(Padding)。其中,Margin表示元素外邊界的留白,Padding表示元素內邊距的留白。一般Margin屬性比較常用。以button為例,實際效果如下圖所示:
在實際開發中外邊距(Margin)應用的更為廣泛 ,可變參數及對應外邊距如下:
-
Margin="左邊距,上邊距,右邊距,下邊距"
eg:
<Button Content="Margin" Margin="10,20,30,40" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
效果圖:
-
Margin="左右邊距,上下邊距"
eg:
<Button Content="Margin" Margin="10,20" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
效果圖:
-
Margin="四周邊距"
eg:
<Button Content="Margin" Margin="10" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
效果圖:
最後簡單介紹一下ScrollViewer控制項。在尺寸固定的容器中,當某一部分內容尺寸超出容器尺寸範圍時,就可以將其放入ScrollViewer控制項中,通過水平滾動條(HorizontalScrollBarVisibility)和豎直滾動條(VerticalScrollBarVisibility)調節顯示內容。其中可以通過ScrollbarVisibility
屬性控制滾動條是否可見。
今天先寫到這裡吧,關於具體的幾種佈局將會在以後的文章中介紹。