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 に答える