我正在编写我的第一个 WPF 应用程序,当窗口最大化时,我在调整按钮大小/对齐按钮方面遇到了一些问题。
基本上我的应用程序顶部有一排大按钮。目前它们在 Canvas 中,但我也尝试过 Grid 和 Stackpanel。每当我最大化(或者实际上只是展开我的窗口)时,按钮基本上都停留在同一个地方。我想要的是相对于其父容器重新定位按钮,或者拉伸(stretch)按钮宽度以适应更改。
任何人都可以就实现此目标的最佳容器和方法提供建议吗?我查看了 Canvas.Top/Left、HorzontalAlignment、Margin 等,但似乎找不到正确的组合。
谢谢。
最佳答案
在 WPF 中,所有内容都应该在 MainGrid 中对齐。 如果您将 Button 1 放入例如 Grid.Row 3 和 Grid.Column 2 中,它将保留在那里。
如果您更改窗口大小,网格会调整大小,但控件会保留在原位。 您还可以将网格行/列设置为固定宽度、自动调整大小或百分比。
与您的控件相同。因此,了解这一点后,只需尝试一下即可。
这是一个例子。只是玩弄宽度:
<Grid x:Name="LayoutRoot" Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="43*" />
<RowDefinition Height="222*" />
<RowDefinition Height="35*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="113*" />
<ColumnDefinition Width="168*" />
<ColumnDefinition Width="119*" />
</Grid.ColumnDefinitions>
<Button Content="TEST" Grid.Column="2" Grid.Row="1"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</Grid>
做一些 Auto,做一些 fixed,最后你就会明白目标。
关于c# - 调整父窗口大小时的 WPF 调整大小/对齐按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8644322/