WPF DockPanel 布局17 Mar 2025 | 4 分钟阅读 DockPanel 为我们提供了一个区域来相互排列元素。我们可以使用户元素水平或垂直放置。 借助 DockPanel,我们可以使用 Dock 属性轻松地将子元素放置在顶部、底部、右侧、左侧和中心。 DockPanel 用于将内容放置在所有方向上。我们可以将窗口分成一个特定的区域。我们将使用 DockPanel.Dock 属性来决定要使用哪个方向来放置子控件。如果我们没有使用它,则第一个控件将放置在左侧。最后一个控件将覆盖所有空间。 在这里,我们将举一个例子,根据如下所示的 dock panel 布局在屏幕上放置元素 MainWindow.XAML以上代码的输出将如下图所示 输出 ![]() 在上面的示例中,如果我们注意到我们为子元素分配了 dock 位置。最后一个子元素会自动获取剩余的整个空间。围绕中心的控件将根据它们的需要占用空间,剩余空间将留给最后一个子元素。右侧子元素比左侧子控件占用更多空间。这仅仅是因为在右侧子元素中添加了额外的字符,并且额外的字符将需要额外的空间。 现在我们将讨论屏幕空间是如何划分的。在这里,如果我们注意到顶部元素没有获取所有顶部空间。这仅仅是因为左侧按钮覆盖了顶部按钮的一部分。在这种情况下,DockPanel 将通过查看它们的标记来决定控件的空间。 在这种情况下,左侧按钮优先,因为此按钮放置在标记的第一位。我们可以通过为子控件分配高度和宽度来轻松更改控件的空间。 在这里,我们将看到另一个示例,其中我们将设置控件的高度和宽度。为此,我们将编写以下代码 MainWindow.XAML 代码的输出如图所示 输出 ![]() 在上面的屏幕截图中,我们可以看到,顶部和底部控件都优先于左侧和右侧控件。当我们调整窗口大小(变小或变大)时,在这种情况下,我们将看到静态宽度和高度将保持不变。 当我们调整窗口的屏幕大小时,只有中心区域会增加或减少。 LastChildFill众所周知,默认情况下,DockPanel 的最后一个子元素会获取剩余空间。但是,我们可以使用 LastChildFill 来禁用此行为。 在这里,我们将举一个例子,其中我们将编写代码来禁用 dock 的最后一个子元素,并且还将显示 dock 在同一侧具有多个控件的行为。 为此,我们将编写以下 XAML 代码 MainWindow.XAML上述代码的输出将如下图所示 输出 ![]() 在上面的示例中,我们在左侧放置了两个控件,在右侧放置了两个控件,并禁用了 LastChildFill 属性。然后通过这个,我们得到中心空的空格,这在大多数情况下都是需要的。 在这里,我们将以 DockPanel 为例。在这里,我们将借助 XAML 代码在 DockPanel 中添加按钮 MainWindow.XAML现在我们将在按钮单击事件上进行 C# 编码。 MainWindow.cs 上述代码的输出将如下图所示 输出 ![]() 下一主题WPF 画布面板 |
我们请求您订阅我们的新闻通讯以获取最新更新。