Wpf 如何使边框控件在单个网格控件内具有相同的宽度?

Wpf 如何使边框控件在单个网格控件内具有相同的宽度?,wpf,grid,width,border,Wpf,Grid,Width,Border,我有这样的想法: <MyView> <Style TargetType="Border" x:Key="Module"> <Setter Property="BorderThickness" Value="1" /> <Setter Property="BorderBrush" Value="Gray" /> <Setter Property="Padding" Value="10" />

我有这样的想法:

<MyView>  
    <Style TargetType="Border" x:Key="Module">
      <Setter Property="BorderThickness" Value="1" />
      <Setter Property="BorderBrush" Value="Gray" />
      <Setter Property="Padding" Value="10" />
      <Setter Property="Margin" Value="10" />
    </Style>    
    <Grid>
      <Grid.ColumnDefinitions>        
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
      </Grid.ColumnDefinitions>
      <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
      </Grid.RowDefinitions>
      <Border Name="Border1" Style="{StaticResource Module}">
        <!--some controls with non-fixed width-->
      </Border>
      <Border Grid.Row="1" Name="Border2" Style="{StaticResource Module}">
        <!--some controls with non-fixed width-->
      </Border>
      <Border Grid.Column="1" Grid.RowSpan="2" Style="{StaticResource Module}" Name="Border3">
        <!--some controls with non-fixed width-->
      </Border>
    </Grid>
</MyView>

Border1和Border2内的控件可能具有不同的宽度,因此它们的边框也将具有不同的宽度,这看起来不太好。如何强制Border1和Border2边框具有相同的宽度,以便看起来更好

手动设置相同宽度的解决方案不起作用,因为Border1和Border2的子控件的宽度可能不同


Border3的内容只会占用所有可用空间,这很好。

添加到边框样式中

当我将其宽度设置为*时,网格没有将Border1拉伸到其全宽。“您现在所拥有的意味着第一列将只占用所需的空间,而第二列将占用所有剩余空间。”这正是我想要的,所以很遗憾,您的解决方案无法解决我的问题。抱歉,刚才注意到您的边框位于行中,而不是列中。设置边框的
horizontalAlignment=“Stretch”
就可以了