在WPF中,經常使用Grid容器,來佈局我們想要顯示的物件。
這就不可避免的要和佈局在其中的控制元件的VerticalAlignment特性,HorizonAlignment特性,以及Margin特性打交道。
如果在Grid中放置了一個Rectangle控制元件,對Rectangle又設定了VerticalAlignment,HorizonAlignment,Margin,
這三者都是用來設定位置的,那麼,它們是怎麼來起效的呢?
1,如下圖所示,如果為Rectangle設定了VerticalAlignment=Top,HorizonAlignment=Left ,Margin=“50,20”
將會顯示為這個樣子。Top表示在豎直方向上靠上(相對於Grid),Left表示在水平方向上靠左(相對於Grid)。
Margin中的50和20,分別表示距離Grid的左邊界和上邊界的距離為50,20。此時,再設定Marin的Right和Bottom,
是無效的,也就不要再寫Margin後兩位的值了。
2,如下圖所示,如果為Rectangle設定了VerticalAlignment=Bottom,HorizonAlignment=Right ,Margin=“30,20”
將會顯示為這個樣子。Bottom表示在豎直方向上靠底部(相對於Grid),Right表示在水平方向上靠右(相對於Grid)。
Margin中的50和20,分別表示距離Grid的右邊界和下邊界的距離為30,20。此時再設定Margin的Left和Top的值,是無
效的,即使設定了,系統也會按照Margin的後兩位值來佈局。
通過以上兩點可以看出,Grid容器中,還是以VerticalAlignment和HorizonAlignment的特性值為主,Margin
的特性值為輔。Marign的特性值,按照VerticalAlignment和HorizonAlignment的特性值,來起效。
本來自己就是一個方向感不強的人,俗稱路痴,今天晚上豁然明白,與大家共享。