Blend基礎(chǔ)-布局控件
2009-10-22 15:19 by nasa, 531 visits, 網(wǎng)摘, 收藏, 編輯
布局
什么是布局?
- Panels控件(其實(shí)就是容器控件)
- 對(duì)內(nèi)部的子控件提供了自動(dòng)布局功能
- 可以在容器控件內(nèi)繼續(xù)添加容器控件(一個(gè)復(fù)雜的界面往往是多種容器控件嵌套而組成的)
- 一些界面器控件也是嵌套了容器控件而組成的(比如ListBox就嵌套了StackPanel控件)
- 你也可以自己來(lái)制作一些容器控件
一些常見的布局控件
Canvas |
最原始的容器控件,對(duì)子控件無(wú)自動(dòng)布局功能。 |
StackPanel |
能將子元素排列成一行(可沿水平或者垂直方向) |
WarpPanel |
元素從左到右按順序排列,在包含他們的框的邊緣處將內(nèi)容換至下一行。 |
Grid |
定義由行和列的靈活網(wǎng)格區(qū)域。 |
ViewBox |
可拉伸或者縮放子元素。 |
Border |
在一個(gè)子元素的周圍繪制邊框、背景。 |
DockPanel |
可將子元素沿其邊緣進(jìn)行定位。 |
ScrollViewer |
使內(nèi)容顯示在比其實(shí)際大小小的區(qū)域中,并適當(dāng)顯示滾動(dòng)條。 |
具體使用
在新建立了Silverlight項(xiàng)目后,你會(huì)看到Blend自動(dòng)幫你添加了一個(gè)布局控件“LayoutRoot”。

在右側(cè)的屬性欄目你可以看到這個(gè)
布局控件的類型。

在右側(cè)的工具欄中你可以找到更多的
布局控件。

或者你知道自己想要的控件 直接輸入他的名字便可以快速的找到他。
這里在LayoutRoot下添加上兩個(gè)最簡(jiǎn)單的布局控件Canvas,并改變他們的背景顏色予以區(qū)分。
這里記住一個(gè)概念
“所有的父控件對(duì)其子控件進(jìn)行布局”。
嘗試移動(dòng)“Father”的位置,“Son”也跟著移動(dòng)。即使“Son”在舞臺(tái)上不在“Father”的內(nèi)部,只要他們的在層次上的關(guān)系不發(fā)生變化,“Son”會(huì)一直受“Father”的影響。在Canvas中的表現(xiàn)是子控件和父控件的相對(duì)位置一直保持不變。
你也可以對(duì)現(xiàn)有的布局進(jìn)行轉(zhuǎn)化。
也能對(duì)現(xiàn)有的元素快速的組合到容器中。
所謂搭建自適應(yīng)布局就是利用Grid的特性來(lái)搭建界面。

其內(nèi)部的元素會(huì)根據(jù)父控件的屬性來(lái)自行的調(diào)整自身的位置大小。

更加詳細(xì)的Grid使用請(qǐng)翻閱Blend的幫助文件。