C# 动态更改XAML列文本

C# 动态更改XAML列文本,c#,xaml,C#,Xaml,如何以编程方式设置边框XAML对象 我可以在XAML中设置它: <Border Grid.Column="2" Grid.Row="1"> <TextBlock Text="Typical Code" /> </Border> 这是我试图动态操纵的整个网格: <StackPanel x:Name="GridViewView" > <Grid x:Name="StaticGridView"

如何以编程方式设置边框XAML对象

我可以在XAML中设置它:

<Border Grid.Column="2" Grid.Row="1">
     <TextBlock Text="Typical Code" />
</Border>
这是我试图动态操纵的整个网格:

  <StackPanel x:Name="GridViewView" >
                    <Grid x:Name="StaticGridView" Background="WhiteSmoke">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition x:Name="Column5" />
                            <ColumnDefinition x:Name="Column6" />
                            <ColumnDefinition x:Name="Column7" />
                            <ColumnDefinition x:Name="Column8" />
                            <ColumnDefinition x:Name="Column9" />
                            <ColumnDefinition x:Name="Column10" />
                            <ColumnDefinition x:Name="Column11" />
                            <ColumnDefinition x:Name="Column12" />
                        </Grid.ColumnDefinitions>
                        <Grid.Resources>
                            <Style TargetType="Border">
                                <Setter Property="BorderBrush" Value="Black" />
                                <Setter Property="BorderThickness" Value="2" />
                                <Setter Property="Background" Value="White" />
                                <Setter Property="Padding" Value="5" />
                            </Style>
                            <Style TargetType="TextBlock">
                                <Setter Property="TextBlock.FontSize" Value="16" />
                                <Setter Property="VerticalAlignment" Value="Center" />
                                <Setter Property="HorizontalAlignment" Value="Center" />
                                <Setter Property="Foreground" Value="Black" />
                                <Setter Property="TextBlock.FontWeight" Value="Bold" />
                            </Style>
                        </Grid.Resources>
                        <Border Grid.Column="0" Grid.Row="1">
                            <TextBlock Text="Item" />
                        </Border>
                        <Border Grid.Column="1" Grid.Row="1">
                            <TextBlock Text="Drawing" />
                        </Border>
                        <Border Grid.Column="2" Grid.Row="1">
                            <TextBlock Text="Typical Code" />
                        </Border>
                        <Border x:Name="Column8Text" Grid.Column="3" Grid.Row="1">
                        </Border>
                        <Border x:Name="Column9Text" Grid.Column="4" Grid.Row="1">
                        </Border>
                        <Border x:Name="Column10Text" Grid.Column="5" Grid.Row="1">
                        </Border>
                        <Border x:Name="Column11Text" Grid.Column="6" Grid.Row="1">
                        </Border>
                        <Border x:Name="Column12Text" Grid.Column="7" Grid.Row="1">
                        </Border>
                    </Grid>
                </StackPanel>

这不起作用:
Column8Text.Name=“test”

要设置任何子对象的值,不能简单地命名父对象并访问子对象

每个单独的子控件必须命名才能在代码隐藏中访问

否则,要通过父对象更改子对象,应创建一个自定义控件,该控件具有绑定到子对象的特定依赖属性,以便于将数据传递给子对象


来完成你的例子

<Border Grid.Column="2" Grid.Row="1">
     <TextBlock Name="tbBorderChild" Text="Typical Code" />
</Border>

我不知道你想做什么。。。重新命名边界元素?在其中设置textBlock?设置textBlock。当你这样说的时候,现在看起来很明显。你的意思是什么?而且,它里面没有文本块,所以您只需要动态创建一个文本块并添加它吗?仅仅绑定现有文本不是更好吗?
  <StackPanel x:Name="GridViewView" >
                    <Grid x:Name="StaticGridView" Background="WhiteSmoke">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition x:Name="Column5" />
                            <ColumnDefinition x:Name="Column6" />
                            <ColumnDefinition x:Name="Column7" />
                            <ColumnDefinition x:Name="Column8" />
                            <ColumnDefinition x:Name="Column9" />
                            <ColumnDefinition x:Name="Column10" />
                            <ColumnDefinition x:Name="Column11" />
                            <ColumnDefinition x:Name="Column12" />
                        </Grid.ColumnDefinitions>
                        <Grid.Resources>
                            <Style TargetType="Border">
                                <Setter Property="BorderBrush" Value="Black" />
                                <Setter Property="BorderThickness" Value="2" />
                                <Setter Property="Background" Value="White" />
                                <Setter Property="Padding" Value="5" />
                            </Style>
                            <Style TargetType="TextBlock">
                                <Setter Property="TextBlock.FontSize" Value="16" />
                                <Setter Property="VerticalAlignment" Value="Center" />
                                <Setter Property="HorizontalAlignment" Value="Center" />
                                <Setter Property="Foreground" Value="Black" />
                                <Setter Property="TextBlock.FontWeight" Value="Bold" />
                            </Style>
                        </Grid.Resources>
                        <Border Grid.Column="0" Grid.Row="1">
                            <TextBlock Text="Item" />
                        </Border>
                        <Border Grid.Column="1" Grid.Row="1">
                            <TextBlock Text="Drawing" />
                        </Border>
                        <Border Grid.Column="2" Grid.Row="1">
                            <TextBlock Text="Typical Code" />
                        </Border>
                        <Border x:Name="Column8Text" Grid.Column="3" Grid.Row="1">
                        </Border>
                        <Border x:Name="Column9Text" Grid.Column="4" Grid.Row="1">
                        </Border>
                        <Border x:Name="Column10Text" Grid.Column="5" Grid.Row="1">
                        </Border>
                        <Border x:Name="Column11Text" Grid.Column="6" Grid.Row="1">
                        </Border>
                        <Border x:Name="Column12Text" Grid.Column="7" Grid.Row="1">
                        </Border>
                    </Grid>
                </StackPanel>
<Border Grid.Column="2" Grid.Row="1">
     <TextBlock Name="tbBorderChild" Text="Typical Code" />
</Border>
 tbBorderChild.Text = "Changed";