如何确保WPF网格中的列具有最小宽度?
我正在WPF中创建一个简单的GUI: 我已经将三个GUI元素安排在一个网格中。 当我调整窗口大小时,我希望第一列和最后一列的宽度保持不变,中间列的大小占据所有剩余的宽度。 不幸的是,我把窗户弄得很窄;按钮隐藏: 我做错了什么如何确保WPF网格中的列具有最小宽度?,wpf,Wpf,我正在WPF中创建一个简单的GUI: 我已经将三个GUI元素安排在一个网格中。 当我调整窗口大小时,我希望第一列和最后一列的宽度保持不变,中间列的大小占据所有剩余的宽度。 不幸的是,我把窗户弄得很窄;按钮隐藏: 我做错了什么 <Grid> <Grid Margin="10,0,10,10" MinWidth="200"> <Grid.ColumnDefinitions> <ColumnDefinitio
<Grid>
<Grid Margin="10,0,10,10" MinWidth="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="85" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*" />
</Grid.RowDefinitions>
<Button Content="Select..." Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Stretch" Width="75" MinWidth="75"/>
<TextBox Margin="0,0,0,0" TextWrapping="Wrap" Text="" Width="Auto" Height="20" Grid.Column="1"/>
<Label Content="File path:" HorizontalAlignment="Center" Margin="0,0,0,0" VerticalAlignment="Center"/>
</Grid>
如果不应将窗口调整为小于某个宽度,请在窗口属性中定义该宽度 如果要在窗口小于某个大小(网格大小)时显示ScrollViewer,请添加ScrollViewer 编辑: 您可以做的是绑定窗口。MinWidth=网格的实际宽度 将网格命名为:
<Grid x:Name="MyGrid">
如果窗口大小小于标签和按钮的大小,会发生什么情况?按钮消失,因为窗口太小。我希望窗口拒绝将大小调整为小于此值的宽度。是否尝试将MinWidth添加到窗口(而不是网格)?将窗口的MinWidth设置为240有效。在WPF中是这样做的吗?看起来很麻烦:我必须从所有元素计算窗口的最小宽度。如果WPF为我这样做,我会更愿意:我指定第3列的MinWidth为85。然后WPF计算出窗口的最小宽度是240。是的。。。这不是它的工作原理。。。如果你在窗口中添加1000个项目,那么你肯定需要一些大屏幕。谢谢你的帮助。不幸的是,通过此更改,窗口的大小将不会调整为小于宽度(大约=600像素)!?
MinWidth="{Binding ElementName=MyGrid, Path=ActualWidth, Mode=OneTime}"