網頁

搜尋此網誌

2010年10月19日 星期二

Panels in WPF 面板

Windows Presentation Foundation (WPF)的面板(Panel)功能主要是用來設計版面的配置(佈置)(layout),主要用於配置的面板有六種:Canvas、DockPanel、Grid、StackPanel、VirtualizingStackPanel 與 WrapPanel。

Panel類別的繼承階層架構:
可以看到Panel類別一樣泛生自FrameworkElement類別,與控制項Control類別相同。Panel類別有兩個比較常用的屬性,第一是Children屬性會包含所有加入Panel的WPF元素集合(屬於UIElementCollection型態),可以使用Add、Remove、Clear等方法操作面板中的元素。第二是ZIndex附加屬性,ZIndex用來排列元素的前後景,數字越大則越上方(前景),數字越小則越下方(背景),若沒有指定則依照加入的順序向上堆。

面板配置使用最多的大概是Grid類別,Grid的功能類似HTML的表格,而且還可以使用
GridSplitter控制項重新分配Grid各資料行或資料列之間的間距。另外,我們可以使用Grid模擬StackPanel和DockPanel的功能,當然這樣使用會比較麻煩一些。

面板中的Canvas類別是最簡單的面板,只能利用Top、Left、Bottom與Right附加屬性設定元素的絕對位置,適合用來處理效能苛求的應用!

至於System.Windows.Controls.Primitives命名空間的面板,這類面板通常用於控制項的設計,不適用於使用者介面面板(UI Panel),使用者介面面板應該是那些有定義附加屬性的類別(除了WrapPanel沒有定義),附加屬性可以讓元素設定所在面板所需的呈現方式。

基本上來說,玩WPF應用程式的第一步通常就是玩面板,利用面板配置一個視窗的控制項內容,接著開始撰寫功能。其他有關面板的資訊請參考MSDN:面板概觀http://msdn.microsoft.com/zh-tw/library/ms754152%28v=VS.90%29.aspx

###

沒有留言:

張貼留言

熱門文章