Expression Blend學習二UI布局

2022-09-03 01:54:09 字數 2781 閱讀 6851

什麼是布局?

· panels控制項(其實就是容器控制項)

· 對內部的子控制項提供了自動布局功能

· 可以在容器控制項內繼續新增容器控制項(乙個複雜的介面往往是多種容器控制項巢狀而組成的)

· 一些介面器控制項也是巢狀了容器控制項而組成的(比如listbox就巢狀了stackpanel控制項)

· 你也可以自己來製作一些容器控制項

一些常見的布局控制項

canvas

最原始的容器控制項,對子控制項無自動布局功能。

stackpanel

能將子元素排列成一行(可沿水平或者垂直方向)

warppanel

元素從左到右按順序排列,在包含他們的框的邊緣處將內容換至下一行。

grid

定義由行和列的靈活網格區域。

viewbox

可拉伸或者縮放子元素。

border

在乙個子元素的周圍繪製邊框、背景。

dockpanel

可將子元素沿其邊緣進行定位。

scrollviewer

使內容顯示在比其實際大小小的區域中,並適當顯示滾動條。 

具體使用

在新建立了silverlight專案後,你會看到blend自動幫你新增了乙個布局控制項「layoutroot」。

在右側的屬性欄目你可以看到這個布局控制項的型別。

在右側的工具欄中你可以找到更多的布局控制項。

或者你知道自己想要的控制項 直接輸入他的名字便可以快速的找到他。

這裡在layoutroot下新增上兩個最簡單的布局控制項canvas,並改變他們的背景顏色予以區分。

這裡記住乙個概念「所有的父控制項對其子控制項進行布局」。

嘗試移動「father」的位置,「son」也跟著移動。即使「son」在舞台上不在「father」的內部,只要他們的在層次上的關係不發生變化,「son」會一直受「father」的影響。在canvas中的表現是子控制項和父控制項的相對位置一直保持不變。

你也可以對現有的布局進行轉化。

也能對現有的元素快速的組合到容器中。

所謂搭建自適應布局就是利用grid的特性來搭建介面。

其內部的元素會根據父控制項的屬性來自行的調整自身的位置大小。

更加詳細的grid使用請翻閱blend的幫助檔案。

ui設計師

曾幾何時我從沒想過要與藝術家打交道,但是silverlight改變了這一切。ui設計師,已經成為silverlight專案開發中必不可少的一員。請大家記住,silverlight程式介面長的和winform一樣,就一文不值。

藝術家和程式設計師是一對奇特的組合(想想就有趣),與ui設計師建立良好的溝通,對於開發人員來說是很難且關鍵的一步。ui設計師往往不懂軟體工程,大多數ui設計師只注重是否好看,不管能不能實現。所以遇到這種情況往往把程式設計師難得半死,你和他講軟體工程,人家和你說設計原理,構圖,色相。最終的結果就是倆人拍桌子上椅子。與ui設計師打交道不容易,希望每乙個開發人員清楚的認識到,silverlight帶給你的第乙個挑戰就是先把你和老虎關進籠子裡,然後你要盡快的學會與它和睦相處。拋開設計水平不談,乙個好配合的ui設計師一定具有以下特點,很有耐心,重視使用者需求,謙虛,好學。怎麼與設計師打好交道,因人而異,沒有以逸待勞的辦法。開發人員希望設計師修改介面設計時最容易產生分歧,此時請態度一定謙和,注意語氣。

乙個好的silverlight作品,設計師功不可沒,應尊重我們的設計師,把他們當成戰友,一起分享成功。

沒有設計師的日子

可能你是乙個小公司的開發人員,公司人力有限,你只能又當爹來又當媽,對於習慣線性思維的程式設計師來說,如果設計出漂亮的ui呢?

1、上網搜尋配色圖譜

2、不計算黑色,白色的情況下,你的介面使用顏色不要過多,3~5種最佳。

3、布局簡單,大方,控制項風格統一,彼此保留合適間距。

4、控制項的細節可以借鑑其他軟體作品。

5、表單盡量使用dataform,他會省去你很多任務作。

6、如果你使用riaservice, vs2010的會幫你自動排列好控制項。

7、業餘時間多翻翻漂亮**,等設計師不如讓自己成為設計師,哪怕是業餘的也好。

8、三個臭皮匠頂個乙個諸葛亮,既然是業餘的就要承認自己的業餘,東西做完了多給周圍朋友看,讓大家挑挑刺。

「所有真正傑出的設計一旦被設計好,看起來都是那麼的簡單和顯而易見。但是在獲得傑出設計的過程中,需要付出令人難以置信的努力「-michael abrash 

快速學習Expression Blend開發三要素

多數是剛入門的silverlight開發人員,不少人在問,目前軟體開發角色分工細化,是不是做後台的,就可以不用學習前台設計?這個問題讓我想起曾經在園子裡看到過相關的討論,同時也讓我想起工作中軟體開發角色的分工。為了不偏離本篇的主題,我不再擴充套件職業分工化的討論,直接說說我對上面問題的回答,在我個人...

Expression Blend 知識錦分享

上回發布 asp.net知識錦分享 受到許多讀者的喜歡,而我最近在研究expression blend,也整理了一些文章,其中有mvp范曉超 jv9 的經典教程 expression blend例項中文教程系列文章彙總 還有園子內expression blend大牛烤地瓜的一系列,雖然還沒完全寫完,...

Expression Blend 知識錦分享

上回發布 asp.net知識錦分享 受到許多讀者的喜歡,而我最近在研究expression blend,也整理了一些文章,其中有mvp范曉超 jv9 的經典教程 expression blend例項中文教程系列文章彙總 還有園子內expression blend大牛烤地瓜的一系列,雖然還沒完全寫完,...