silverlight三個基本佈局控件(Canvas、StackPanel、Grid ) 詳解

Silverlight提供了非常靈活的佈局管理系統,讓程序員和美工可以非常方便的控制控件的位置。佈局管理系統提供了兩種佈局方式:絕對定位和相對定位。這兩種定位方式其實和HTML的兩種定位方式是一樣的。在Silverlight 2 beta1中內置了三種最常用的佈局控件:Canvas、StackPanel、Grid。

一、Canvas:相當基礎的控件,通過絕對定位來控制字控件的位置。
在Canvas中,我們使用一種叫做“附加屬性”的XMAL新特性來控制子控件的位置。附加屬性就是指你可以通過設置子控件相對於其父控件的Top、Left、Bottom和Right值來控制子控件的位置。在Canvas中,我們可以使用Canvas.Left、Canvas.Top來控制子控件相對於父控件(Canvas)的位置。如:

以上代碼將顯示爲:

Canvas對於那些子控件不需要移動的佈局是非常方便的,但如果子控件數量太多或是子控件位置會發生變化,使用Canvas就不大方便了。這時候可以使用其他的佈局控件,如:StackPanel、Grid。

二、StackPanel:該控件用於橫向或縱向排列子控件(默認是縱向排列子控件的)。通過子控件的Margin屬性(該屬性和HTML的Margin屬性的效果一樣)來控制控件的間距。如:

以上代碼將顯示爲:


三、Grid:Grid是一種相當靈活的佈局控件,它通過行列的表格來管理子控件的佈局,類似於HTML裏的Table控件。
和HTML的Table控件不同的是,你不能直接把子控件嵌套的單元格中。在Grid裏,你得先使用<Grid.RowDefinitions>和<Grid.ColumnDefinitions>來定義Grid的行列結構;然後在子控件中使用Grid的附加屬性來控制子控件所屬的單元格。
下面是一個使用Grid佈局的例子,請注意控件所屬的單元格:

以上代碼將顯示爲:


對這三個基本佈局控件有所瞭解後,我們就可以很方便的管理頁面上控件的佈局了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章