Silverlight 教程第二部分:使用布局管理
原文地址: Silverlight Tutorial Part 2: Using Layout Management 原文發(fā)表日期: Friday, February 22, 2008 5:55 AM
這是8個(gè)系列教程的第2部分,這個(gè)系列示范如何使用 Silverlight 2 的 Beta1 版本來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的 Digg 客戶端應(yīng)用。這些教程請(qǐng)依次閱讀,將有助于您理解 Silverlight 的一些核心編程概念。
理解布局管理
Silverlight 和 WPF 都支持一種靈活的布局管理系統(tǒng),能讓開發(fā)者和設(shè)計(jì)師輕松的定位 UI 上的控件。該布局系統(tǒng)對(duì)顯式指定坐標(biāo)的控件支持固定的定位模型;除此之外,還支持一種更為動(dòng)態(tài)的定位模型,控件和布局能隨著瀏覽器的大小改變而自動(dòng)改變其大小和方位。
在 Silverlight 和 WPF 中,開發(fā)者可以用布局面板來(lái)協(xié)調(diào)包含在其中的控件的位置和大小。Silverlight Beta1 中內(nèi)建的布局面板包括在 WPF 中最常用的3種:
Canvas面板
Canvas 面板是一種很基礎(chǔ)的布局面板,它支持對(duì)其中的控件采用絕對(duì)坐標(biāo)定位。
你可以通過一種 XAML 特性--- "附加屬性” 對(duì) Canvas 中的元素進(jìn)行定位。用附加屬性,你可以指定控件相對(duì)于其直接父 Canvas 控件的上、下、左、右坐標(biāo)的位置。附加屬性很有用,因?yàn)樗尭该姘蹇梢詳U(kuò)展其中包含的控件的屬性集。Canvas 通過定義擴(kuò)展屬性 Top 和 Left, 就能定義其中 Button (或其他任何 UI 元素)的 Left, Top,而不需要真正向 Button 類中添加這個(gè)屬性,或 修改 Button 類。
我們可以向 Canvas 容器中添加兩個(gè)按鈕,指定其距離 Canvas 左側(cè)的距離為 50 像素,離上邊的距離則分別為 50 像素和 150 像素。使用如下 XAML 語(yǔ)法即可完成(其中 Canvas.Top 和 Canvas.Left 都是附加屬性的例子):
點(diǎn)擊放大
這些代碼繪制的界面效果如下:
Canvas 適用于其中包含的 UI 元素比較固定的情形,但是如果你想向其中添加更多的控件,或者 UI 需要改變大小或能夠移動(dòng),Canvas 顯得不太靈活。這時(shí),你不得不忙于手寫代碼來(lái)移動(dòng) Canvas 中的東西(這很痛苦)。應(yīng)付這種動(dòng)態(tài)的場(chǎng)景,更好的辦法通常是使用其它帶有相關(guān)功能的內(nèi)建語(yǔ)義的布局面板,如 StackPanel 和 Grid。
出處:Scott Guthrie 博客中文版
責(zé)任編輯:bluehearts
上一頁(yè) 下一頁(yè) 使用布局管理 [2]
◎進(jìn)入論壇RIA設(shè)計(jì)與應(yīng)用版塊參加討論
|