天天看點

WPF布局基礎

1.WPF的UI布局

【1】布局的原則

第一、如果做螢幕适應的程式,不要顯示設定元素(控制)尺寸,一般可以設定最小和最大尺寸。

第二、不應使用螢幕坐标指定位置元素,元素的位置應該由它所在的容器決定。

第三、布局容器可以嵌套。

【2】布局的容器

第一、Grid面闆

第二、StackPanel面闆

第三、Canvas面闆

第四、DockPanel面闆

第五、WrapPanel面闆

2.Grid 面闆(可以想象成一個table)

特點:

1.可以定義任意數量的行、列。并且輕松跨行、跨列。

2.行、列高度或者寬度可以設定絕對值、相對比例、自動調整等方式。

使用場合:

1.UI的大布局設計。

2.UI需要調整尺寸改變時

3.StackPanel面闆

特點:

1.可以把内部元素縱在縱向或者橫向上緊湊排列,形成棧式布局,通俗來說就是把元素堆到一塊。

2.當把前面元素去掉後,後面的元素會整體向前移動,占領原有空間。

使用場合:

1.同類型原型需要緊湊排列(比如制作菜單或者清單)

2.移除其中的元素後能夠自動補缺的布局或者動畫。

三個屬性:

1.orientaion:決定内部元素時橫向還是縱向積累。

2.horizontalAlignment:決定内部元素水準方向上的對齊方式。

3.VerticalAlignment:決定内部元素垂直方向上的對齊方式。

4. Canvas面闆(譯文:畫布)

特點:

1.在面闆内部,我們可以通過x和y的坐标屬性,直接控制控件的位置,非常類似windform 中top和left定位。

2.我們可以直接通過拖放的形式選擇控件的位置。

使用場合:

1.一經設計基本上不會有改動的小布局。

2.需要使用絕對定位的布局。

3.依賴于橫縱坐标的動畫

4. Canvas面闆(譯文:畫布)

特點:

1.在面闆内部,我們可以通過x和y的坐标屬性,直接控制控件的位置,非常類似windform 中top和left定位。

2.我們可以直接通過拖放的形式選擇控件的位置。

使用場合:

1.一經設計基本上不會有改動的小布局。

2.需要使用絕對定位的布局。

3.依賴于橫縱坐标的動畫

5. DockPanel面闆(停靠)

特點:

根據Dock屬性值,元素向指定方向積累,切分DockPanel内部剩餘空間,就像船舶停靠一樣。

使用場合:

需要自動填滿剩餘空間的布局。(最後一個元素自動填滿DockPanel内的剩餘空間)

5. WrapPanel面闆(流式布局,類似web中div的float)

特點:

1.在流延伸的方向上會排列盡可能多的空間,排列不下的控件會新起一行。

2.使用Orientaion屬性控制流延伸的方向。

使用場合:

需要根據容器大小動态排列控件的場合。

繼續閱讀