繁体   English   中英

wpf在stackpanel中使用网格调整网格大小将删除内部网格中的minWidth属性

[英]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>

将第二个GridMinWidth设置为200,以某种方式间接将BorderMinWidth设置为(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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM