1

我定义了以下文本列,我想以编程方式替换 3 个文本块中的文本。任何帮助将不胜感激。

<DataGridTextColumn
    x:Uid="Expiration_DataGridTextColumn"
    Binding="{Binding Expiration}">
    <DataGridColumn.HeaderStyle>
        <Style
            TargetType="DataGridColumnHeader"
            BasedOn="{StaticResource ThreeLineColumnHeaderStyle}">
            <Setter
                Property="ContentTemplate">
                <Setter.Value>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock
                                x:Uid="Expiration_Header_Line1"
                                Text=""
                                HorizontalAlignment="Center" />
                            <TextBlock
                                x:Uid="Expiration_Header_Line2"
                                Text="Expriation"
                                HorizontalAlignment="Center" />
                            <TextBlock
                                x:Uid="Expiration_Header_Line3"
                                Text=""
                                HorizontalAlignment="Center" />
                        </StackPanel>
                    </DataTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </DataGridColumn.HeaderStyle>
</DataGridTextColumn>
4

1 回答 1

0

您可以使用相对源绑定将该文本绑定到任何 VM 属性。

您应该覆盖 HeaderTemplate 而不是样式,

<DataGridTextColumn
x:Uid="Expiration_DataGridTextColumn"
Binding="{Binding Expiration}">
                <DataGridColumn.HeaderTemplate>
                        <DataTemplate>
                            <TextBlock Text="YourColumnName" HorizontalAlignment="Center"></TextBlock>
                        </DataTemplate>
                </DataGridColumn.HeaderTemplate>
            </DataGridTextColumn>
于 2015-05-15T07:42:18.343 回答