边框样式只能应用一次

Border style can apply only once time

进入网格,我尝试在所有 TextBlock 周围应用带样式的边框。 我对 XAML 代码没有问题,但在视觉上,当我在网格中的 TextBlock 周围应用具有相同样式的第二个边框时(列:0 行:1),这个在网格中移动(列:0 行: 0).

在我的 Window.Resources:

        <Style x:Key="BorderTextBlockStyle" TargetType="{x:Type Border}">
           <Setter Property="BorderThickness" Value="1"/>
           <Setter Property="BorderBrush" Value="Black"/>
           <Setter Property="CornerRadius" Value="5"/>
           <Setter Property="Grid.Column" Value="{Binding}"/>
           <Setter Property="Grid.Row" Value="{Binding}"/>
        </Style>

在我的 Window:

<Grid VerticalAlignment="Top">            
        <Grid.RowDefinitions>
            <RowDefinition Height="auto" />
            <RowDefinition Height="auto" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="auto"/>
            <ColumnDefinition Width="auto"/>
        </Grid.ColumnDefinitions>
            <Border Style="{StaticResource BorderTextBlockStyle}">
                <TextBlock Grid.Column="0" Grid.Row="0" Text="Firstname" Style="{StaticResource GridTitleStyle}"/>
            </Border>
            <Border Style="{StaticResource BorderTextBlockStyle}">
                <TextBlock Grid.Column="1" Grid.Row="0" Text="Lastname" Style="{StaticResource GridTitleStyle}"/>
            </Border>
        </Grid>

视觉还行:
视觉失败:

为什么?
我如何才能简单地在我的 xaml 边框样式中定义多次使用?

您应该为 Border 设置 Grid.RowGrid.Column 而不是 TextBlock

     <Border Grid.Column="0" Grid.Row="0" Style="{StaticResource BorderTextBlockStyle}">
            <TextBlock Text="Firstname" Style="{StaticResource GridTitleStyle}"/>
     </Border>
     <Border Grid.Column="1" Grid.Row="0" Style="{StaticResource BorderTextBlockStyle}">
            <TextBlock Text="Lastname" Style="{StaticResource GridTitleStyle}"/>
     </Border>

并删除 Resource

中的这些行
    <Setter Property="Grid.Column" Value="{Binding}"/>
    <Setter Property="Grid.Row" Value="{Binding}"/>