WPF 停靠面板按钮缩放



在我的XAMl示例中,只有"Test2"按钮可以正确缩放到窗口大小。"Test1"不受调整大小控件的影响。为什么我得到这个结果,我怎样才能使"Test1"随着窗口大小正确缩放?我得到了这个 XAML 代码:

<Window x:Class="testg.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:testg"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="2*"></RowDefinition>
</Grid.RowDefinitions>
<DockPanel Background="Gainsboro">
<Button Height="auto" Width="auto" HorizontalAlignment="Stretch">Test1</Button>
<Button Height="auto" Width="auto" HorizontalAlignment="Stretch">Test2</Button>
</DockPanel>
</Grid>

你的布局没有多大意义。目前还不清楚您为什么添加DockPanel

去掉DockPanel,把要缩放的每个Button放在一个Grid的单元格中:

<Grid Background="Gainsboro">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="2*"></RowDefinition>
</Grid.RowDefinitions>
<Button>Test1</Button>
<Button Grid.Column="2">Test2</Button>
</Grid>

顺便说一下,将ButtonWidthHeight属性设置为Auto并将HorizontalAlignment设置为 Strectch 是没有意义的。这些是默认值。

最新更新