WPF - 堆栈面板



堆栈面板 (Stack panel) 是 XAML 中一个简单而有用的布局面板。在堆栈面板中,子元素可以根据 orientation 属性沿水平或垂直方向排列成单行。它常用于创建任何类型的列表。StackPanel 类的层次继承如下:

Hierarchical of Stackpanel

StackPanel 常用属性

序号 属性和描述
1

Background (背景)

获取或设置填充面板内容区域的 Brush。(继承自 Panel)

2

Children (子元素)

获取此 Panel 的子元素的 UIElementCollection。(继承自 Panel。)

3

Height (高度)

获取或设置元素的建议高度。(继承自 FrameworkElement。)

4

ItemHeight (项目高度)

获取或设置一个值,该值指定 WrapPanel 中包含的所有项目的 height。

5

ItemWidth (项目宽度)

获取或设置一个值,该值指定 WrapPanel 中包含的所有项目的 width。

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。)

示例

下面的示例演示如何将子元素添加到 StackPanel。以下 XAML 实现创建了具有某些属性的 StackPanel 内的按钮。

<Window x:Class = "WPFStackPanel.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:WPFStackPanel" 
   mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">
	
   <Grid> 
      <StackPanel Orientation = "Horizontal"> 
         <Button x:Name = "button" Content = "Button" Margin = "10" Width = "120" Height = "30" /> 
         <Button x:Name = "button1" Content = "Button" Margin = "10" Width = "120" Height = "30" /> 
         <Button x:Name = "button2" Content = "Button" Margin = "10" Width = "120" Height = "30" /> 
         <Button x:Name = "button3" Content = "Button" Margin = "10" Width = "120" Height = "30" /> 
      </StackPanel>  
   </Grid> 
	
</Window> 

编译并执行上述代码后,将生成以下窗口。您可以看到子元素按水平顺序排列。您可以通过将 orientation 属性设置为 Horizontal 来更改排列方式。默认情况下,子元素将按垂直顺序排列。

Output of Stackpanel

我们建议您执行上述示例代码,并尝试此类的其他属性。

wpf_layouts.htm
广告
© . All rights reserved.