快速學習Expression Blend開發三要素

2021-06-07 05:28:33 字數 2730 閱讀 3566

多數是剛入門的silverlight開發人員,不少人在問,目前軟體開發角色分工細化,是不是做後台的,就可以不用學習前台設計?這個問題讓我想起曾經在園子裡看到過相關的討論,同時也讓我想起工作中軟體開發角色的分工。為了不偏離本篇的主題,我不再擴充套件職業分工化的討論,直接說說我對上面問題的回答,在我個人來看,作為軟體開發人員,專注是必須的,但是專注的同時也需要擴充套件自己的眼界,學習相關的輔助開發工具,不僅可以提高開發效率,而且還可以節省開發時間,同時也可以保證**效率。眾所周知,expression blend其本身主要功能就是支援wpf和silverlight專案ui設計,通過wysiwyg的方式快速建立專案ui,動畫效果以及自定義模板修改等。作為後台開發人員,如果僅使用輸入**的方式來建立以上的功能,會耗費很大的精力和時間,特別是控制項模板的定義和修改。 所以說,作為silverlight開發人員來說,學習expression blend的使用是必須的。

下週expression blend 4即將發布,為了幫助開發人員快速學習和理解expression blend,隨後平緩過渡新版本,我將列出學習blend的三個要點,掌握了這三點,基本算是掌握了blend開發的核心精華。儘管是blend 4,這三點同樣適用。

所謂expression blend開發三要素:

- 掌握布局控制項(layout)

- 理解動畫設計(animations)

- 理解狀態和模板 (states,templates)

三個要素,看起來其實是wpf和silverlight專案開發中設計基礎,也是專案開發中使用最頻繁的三個部分。(下文我將使用blend 4 rc進行抓圖演示)

1. 布局控制項

布局控制項是控制使用者介面最基礎的控制項。blend 4中,提供以下幾種布局控制項,其中grid,canvas,stackpanel和border是標準布局控制項。

grid: 是wpf和silverlight專案中使用最多的布局控制項,和html的table功能相似設計人員可以根據需要,自定義設定行數和列數,放置不同的內容和控制項到每行每列中。blend對grid的設計支援非常的直接和簡單。

canvas: 是wpf和silverlight專案中布局最為靈活的控制項,在遊戲設計中最為常見。

stackpanel和border: 這兩個布局控制項,出現的最早,silverlight 1.0就已經支援,相對來說功能簡單;stackpanel控制項。從字面意思理解,是堆疊面板的意思。堆疊內的所有內容將按照順序進行排列,排列方式分水平排列和垂直排列兩種方式。而border是允許使用者建立帶邊框的布局控制項。

scrollviewer:是從wpf中移植來的,針對大內容控制項的布局控制項。由於該控制項內僅能支援乙個子控制項,所以在多數情況下,scrollviewer控制項都會和stackpanel,canvas和grid相互配合使用。

viewbox:是silverlight toolkit控制項之一,其主要作用是拉伸和擴充套件位於其內的控制項,達到不同的布局效果。

另外值得一提的是blend 4中推出一款新布局控制項,path-based layout,可以輕鬆實現多角度,多視角的布局介面效果。該特性將在隨後文章詳細講解。

關於布局的學習詳細可以參考expression blend例項中文教程系列布局篇。

2. 動畫設計

作為ria應用,絢麗的動畫效果,可以提高使用者體驗。blend對於動畫設計提供了方便快捷的方式,開發人員只需要理解一些設計概念,就可以使用blend快速設計出不同的動畫效果。

使用blend設計動畫,使用最多的是storyboard(故事板)。通過objects and timeline可以快速的建立和呼叫storyboard,另外blend提供專業的動畫設計視窗,選擇選單項 window -> workspaces -> animation,就可以切換到動畫設計視窗。

通過設定關鍵幀(key frame)可以建立動畫過渡效果。

關於動畫設計的學習詳細可以參考expression blend例項中文教程系列動畫篇。

3. 狀態和模板設計

在silverlight和wpf專案設計中,很多時候,開發人員需要建立自定義控制項效果,而理解狀態和模板對於建立和修改自定義控制項效果是非常重要的。

通過理解states,可以明白visual states model(視覺狀態模組)的工作流程,同時可以輕鬆的定義控制項不同狀態下的顯示效果。

而學習template,可以根據需求定義控制項樣式,使專案控制項個性化。

states和template的話題篇幅較長,這裡不再一一描述,學習和理解狀態和模板,請參考expression blend例項中文教程系列模板篇。

以上三點要素,基本已經包含了blend開發wpf和silverlight專案最常用也是最精華的部分,blend還有很多強大的功能,基本都是圍繞著這三點要素進行了擴充套件。大家可以在以後的學習和應用中,慢慢的體會和理解。不過有了這三點作為基礎,blend 4的入門已經變的很簡單了。

快速排序學習

快速排序利用了分治策略。分治策略可以分為3個步驟 對乙個典型的子陣列a p.r 進行快速排序的分治過程如下 快速排序的偽 如下 為了排序陣列a的全部元素,初始呼叫quicksort a,1,a.length 其中最關鍵的部分就是陣列的劃分partition,它實現了對子陣列a p.r 的原址重排。偽...

快速學習stl

include include include include include using namespace std int main printf d n i int n while scanf d n printf d n num 輸出語句是 cout 就是在學校學習qb的時候的語句 prin...

git快速學習

git分布式檔案版本管理系統 重要名詞 1.版本庫 理解為乙個檔案目錄,改目錄下會有乙個隱藏的檔案.git,此時表示該目錄是乙個版本庫 git中存放暫存區和本地倉庫 2.暫存區 index或stage add操作將檔案加入暫存區 3.本地倉庫 commit m 日誌 commit 操作將檔案加入本地...