- WPF 教程
- WPF - 首頁
- WPF - 概述
- WPF - 環境設定
- WPF - Hello World
- WPF - XAML 概述
- WPF - 元素樹
- WPF - 依賴屬性
- WPF - 路由事件
- WPF - 控制元件
- WPF - 佈局
- WPF - 佈局巢狀
- WPF - 輸入
- WPF - 命令列
- WPF - 資料繫結
- WPF - 資源
- WPF - 模板
- WPF - 樣式
- WPF - 觸發器
- WPF - 除錯
- WPF - 自定義控制元件
- WPF - 異常處理
- WPF - 本地化
- WPF - 互動
- WPF - 2D 圖形
- WPF - 3D 圖形
- WPF - 多媒體
- WPF 有用資源
- WPF - 快速指南
- WPF - 有用資源
- WPF - 討論
WPF - WrapPanel
在 WrapPanel 中,子元素按順序排列,從左到右或從上到下,具體取決於 orientation 屬性。StackPanel 和 WrapPanel 之間的唯一區別在於它不會將所有子元素堆疊在同一行;如果剩餘空間不足,它會將剩餘元素換行到下一行。
WrapPanel 主要用於選項卡或選單項。WrapPanel 類的繼承層次結構如下:
WrapPanel 的常用屬性
| 序號 | 屬性及描述 |
|---|---|
| 1 | Background 獲取或設定填充面板內容區域的 Brush。(繼承自 Panel) |
| 2 | Children 獲取此 Panel 的子元素的 UIElementCollection。(繼承自 Panel。) |
| 3 | Height 獲取或設定元素的建議高度。(繼承自 FrameworkElement。) |
| 4 | ItemHeight 獲取或設定一個值,該值指定 WrapPanel 中包含的所有專案的高度。 |
| 5 | ItemWidth 獲取或設定一個值,該值指定 WrapPanel 中包含的所有專案的寬度。 |
| 6 | LogicalChildren 獲取一個列舉器,該列舉器可以迭代此 Panel 元素的邏輯子元素。(繼承自 Panel。) |
| 7 | LogicalOrientation 面板的方向,如果面板僅支援在一個維度上進行佈局。(繼承自 Panel。) |
| 8 | Margin 獲取或設定元素的外邊距。(繼承自 FrameworkElement。) |
| 9 | Name 獲取或設定元素的標識名稱。該名稱提供了一個引用,以便程式碼隱藏(例如事件處理程式程式碼)可以在 XAML 處理器在處理過程中構造標記元素後引用該元素。(繼承自 FrameworkElement。) |
| 10 | Orientation 獲取或設定一個值,該值指定排列子內容的維度。 |
| 11 | Parent 獲取此元素的邏輯父元素。(繼承自 FrameworkElement。) |
| 12 | Resources 獲取或設定本地定義的資源字典。(繼承自 FrameworkElement。) |
| 13 | Style 獲取或設定此元素在呈現時使用的樣式。(繼承自 FrameworkElement。) |
| 14 | Width 獲取或設定元素的寬度。(繼承自 FrameworkElement。) |
示例
以下示例演示如何將子元素新增到 WrapPanel 中。這是 XAML 實現,其中在水平方向的 WrapPanel 內建立了文字塊和文字框。
<Window x:Class = "WPFWrapPanel.MainWindow"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local = "clr-namespace:WPFWrapPanel"
mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">
<Grid>
<WrapPanel Orientation = "Vertical">
<TextBlock Text = "Fist Name" Width = "60" Height = "20" Margin = "5" />
<TextBox Width = "200" Height = "20" Margin = "5" />
<TextBlock Text = "Last Name" Width = "60" Height = "20" Margin = "5" />
<TextBox Width = "200" Height = "20" Margin = "5"/>
<TextBlock Text = "Age" Width = "60" Height = "20" Margin = "5" />
<TextBox Width = "60" Height = "20" Margin = "5" />
<TextBlock Text = "Title" Width = "60" Height = "20" Margin = "5" />
<TextBox Width = "200" Height = "20" Margin = "5" />
</WrapPanel>
</Grid>
</Window>
編譯並執行上述程式碼後,將生成以下視窗。可以透過將 orientation 屬性更改為 Vertical 將排列方式從上到下更改。
建議您執行上述示例程式碼,並嘗試此類的其他屬性。