XAML - DockPanel



DockPanel 定義了一個區域,用於相對於彼此水平或垂直排列子元素。使用 DockPanel,您可以輕鬆地使用 Dock 屬性將子元素停靠到頂部、底部、右側、左側和中心。

當為元素設定 LastChildFill 屬性時,最後一個子元素將填充剩餘空間,而不管該元素的任何其他停靠值如何。DockPanel 類的層次繼承如下:

DockPanel Hierarchy

屬性

序號 屬性和描述
1

Background

獲取或設定填充面板內容區域的 Brush。(繼承自 Panel)

2

Children

獲取此 Panel 的子元素的 UIElementCollection。(繼承自 Panel。)

3

Dock

獲取或設定一個值,該值指示子元素在父 DockPanel 中的位置。

4

Height

獲取或設定元素的建議高度。(繼承自 FrameworkElement。)

5

ItemHeight

獲取或設定一個值,該值指定 WrapPanel 中包含的所有項的高度。

6

ItemWidth

獲取或設定一個值,該值指定 WrapPanel 中包含的所有項的寬度。

7

LastChildFill

獲取或設定一個值,該值指示 DockPanel 中的最後一個子元素是否拉伸以填充剩餘的可用空間。

8

LogicalChildren

獲取一個列舉器,該列舉器可以迭代此 Panel 元素的邏輯子元素。(繼承自 Panel。)

9

LogicalOrientation

面板的方向,如果面板僅支援在一個維度上進行佈局。(繼承自 Panel。)

10

Margin

獲取或設定元素的外邊距。(繼承自 FrameworkElement。)

11

Name

獲取或設定元素的標識名稱。該名稱提供一個引用,以便程式碼隱藏(例如事件處理程式程式碼)可以在 XAML 處理器在處理過程中構造標記元素後引用該元素。(繼承自 FrameworkElement。)

12

Orientation

獲取或設定一個值,該值指定排列子內容的維度。

13

Parent

獲取此元素的邏輯父元素。(繼承自 FrameworkElement。)

14

Resources

獲取或設定區域性定義的資源字典。(繼承自 FrameworkElement。)

15

Style

獲取或設定此元素渲染時使用的樣式。(繼承自 FrameworkElement。)

16

Width

獲取或設定元素的寬度。(繼承自 FrameworkElement。)

方法

序號 方法和描述
1

GetDock

獲取指定 UIElement 的 Dock 附加屬性的值。

2

SetDock

將 Dock 附加屬性的值設定為指定元素。

示例

以下示例顯示如何將子元素新增到 DockPanel。以下是使用 XAML 在 DockPanel 中建立按鈕的實現。

<Window x:Class = "XAMLDockPanel.Window1" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   Title = "MainWindow" Height = "300" Width = "604">
	
   <Grid>....
      <DockPanel LastChildFill = "True"> 
         <Button Content = "Top" DockPanel.Dock = "Top" Click = "Click_Me" /> 
         <Button Content = "Bottom" DockPanel.Dock = "Bottom" Click = "Click_Me" /> 
         <Button Content = "Left" Click = "Click_Me" />
         <Button Content = "Right" DockPanel.Dock = "Right" Click = "Click_Me" /> 
         <Button Content = "Center" Click = "Click_Me" /> 
      </DockPanel> 
   </Grid> 
	
</Window> 

以下是 C# 中的事件實現:

using System; 
using System.Windows; 
using System.Windows.Controls; 
 
namespace XAMLDockPanel { 
   /// <summary> 
      /// Interaction logic for Window1.xaml 
   /// </summary> 
	
   public partial class Window1 : Window { 
      public Window1() { 
         InitializeComponent(); 
      }
      private void Click_Me(object sender, RoutedEventArgs e) { 
         Button btn = sender as Button; 
         string str = btn.Content.ToString() + " button clicked" ; 
         MessageBox.Show(str); 
      } 
   }
}

編譯並執行上述程式碼後,將產生以下輸出:

DockPanel Output

單擊任何按鈕,它還會顯示一條訊息。例如,當您單擊位於中心的按鈕時,它將顯示以下訊息:

DockPanel Output 1

我們建議您執行上述示例程式碼,並嘗試其他一些屬性。

xaml_layouts.htm
廣告
© . All rights reserved.