WPF 中窗口中按钮的间距相等

发布于 2024-08-15 08:22:33 字数 143 浏览 10 评论 0原文

在 WPF 中,在窗口中水平排列按钮的最佳控件是什么? 我在调整窗口大小时无法均匀排列按钮。我尝试使用堆栈面板,但按钮只是停留在其位置,并且没有空间来填充窗口空间。也尝试使用停靠面板,但还没有成功。

有人可以建议我一个好方法吗?或者告诉我我是否做错了什么?

What's the best control to arrange buttons horizontally across a window in WPF?
I am having trouble arranging the buttons evenly while resizing the window. I tried to use the stack panel but the buttons just stay at their position and do not space out to fill up the window space. Tried to use the dock panel as well but no luck yet.

Can anybody suggest me a good way to do it or tell me if I am doing anything wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

乖乖公主 2024-08-22 08:22:33

Grid 或者更简单的 UniformGrid 怎么样?

How about a Grid or, even easier, UniformGrid?

清晨说晚安 2024-08-22 08:22:33

我想看一个示例,说明如何轻松地让 UniformGrid 均匀地间隔按钮(如果它们旨在保留其“自然”宽度而不是被迫具有统一的宽度)。

与此同时,也许这不是最好的解决方案,但它似乎对我有用,并且可能会帮助下一个人:

<Grid.ColumnDefinitions>
  <ColumnDefinition Width="Auto" />
  <ColumnDefinition Width="*" />
  <ColumnDefinition Width="Auto" />
  <ColumnDefinition Width="*" />
  <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>

<Button x:Name="FirstBtn" Grid.Column="0" Content="_First" />
<!-- Skip column 1 so it will provide flexible space -->
<Button x:Name="SecondBtn" Grid.Column="2" Content="_Second" />
<!-- Skip column 3 -->
<Button Name="ThirdBtn" Grid.Column="4" Content="_Third" />

I'd like to see an example of how to easily get the UniformGrid to space the buttons equally if they are intended to retain their "natural" widths rather than being forced to have uniform widths.

In the meantime, perhaps this isn't the best solution, but it seems to work for me and might help the next person:

<Grid.ColumnDefinitions>
  <ColumnDefinition Width="Auto" />
  <ColumnDefinition Width="*" />
  <ColumnDefinition Width="Auto" />
  <ColumnDefinition Width="*" />
  <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>

<Button x:Name="FirstBtn" Grid.Column="0" Content="_First" />
<!-- Skip column 1 so it will provide flexible space -->
<Button x:Name="SecondBtn" Grid.Column="2" Content="_Second" />
<!-- Skip column 3 -->
<Button Name="ThirdBtn" Grid.Column="4" Content="_Third" />
楠木可依 2024-08-22 08:22:33

你做错了什么?您忽略了 WPF 中 布局系统上的 MSDN 部分:)。

您可以使用Grid并将按钮的Horizo​​ntalAlignment/VerticalAlignment设置为Center,并且网格列宽度应为*。

What are you doing wrong? You are ignoring MSDN section on the layout system in WPF :).

You can use Grid and set HorizontalAlignment/VerticalAlignment of buttons to Center, and grid column width should be *.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文