[英]wpf Grid resize with grid in stackpanel is removing minWidth property in the inside grid
我的网格看起来像这样,我想在第二列中工作。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
</Grid>
我第二列的代码是这样的:当我调整窗口大小时,列的大小就像我没有在此网格中设置minWidth一样。 我希望图像保持可见,并且第一列(文本框)要先调整大小。
我希望第1列的可见时间最长
<StackPanel Grid.Column="1" Margin="5,0,0,0">
<Label Height="16" Style="{StaticResource InputLabel}" Content="Sup" />
<Grid MinWidth="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="30" MinWidth="30" />
</Grid.ColumnDefinitions>
<Border Padding="5,2,0,0" Grid.Column="0" BorderThickness="4,0,0,0" Background"{StaticResource LightBackground}" BorderBrush="{StaticResource SupplierColor}">
<TextBlock Background="White" Text="{Binding Name}" />
</Border>
<Button MinWidth="25" Grid.Column="1" Margin="5,0,0,0"
cal:Message.Attach="[Event Click] = [Action Search]">
<Image Source="{StaticResource Search-Tiny}" Width="16" />
</Button>
</Grid>
</StackPanel>
将第二个Grid
的MinWidth
设置为200,以某种方式间接将Border
的MinWidth
设置为(200-25 = 175),这使得imageButton在重新调整窗口大小时从视图中消失了,您将获得预期的结果如果未设置第二个网格的MinWidth
,则Xaml
应该如下所示:
<StackPanel Grid.Column="1" Margin="5,0,0,0">
<Label Height="16" Style="{StaticResource InputLabel}" Content="Sup" />
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="30" MinWidth="30" />
</Grid.ColumnDefinitions>
<Border Padding="5,2,0,0" Grid.Column="0" BorderThickness="4,0,0,0" Background"{StaticResource LightBackground}" BorderBrush="{StaticResource SupplierColor}">
<TextBlock Background="White" Text="{Binding Name}" />
</Border>
<Button MinWidth="25" Grid.Column="1" Margin="5,0,0,0"
cal:Message.Attach="[Event Click] = [Action Search]">
<Image Source="{StaticResource Search-Tiny}" Width="16" />
</Button>
</Grid>
</StackPanel>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.