Моделирование Гиперссылки в TextBlock

Один из столбцов в моем DataGrid содержит a Hyperlink в a TextBlock. Когда строка выбрана, шоу гиперссылки как синяя на синем, таким образом, я хочу измениться, это - цвет текста белому. Как я могу сделать это?

DataGrid похож на это:

<DataGrid>
    <DataGrid.Columns>
        <DataGridTemplateColumn Header="Title">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock TextWrapping="Wrap">
                        <Hyperlink NavigateUri="{Binding Url}">
                            <Run Text="{Binding Title}" />
                        </Hyperlink>
                    </TextBlock>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

Я попробовал

<Style TargetType="DataGridCell">
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="TextBlock.Foreground" Value="White" />
        </Trigger>
    </Style.Triggers>
</Style>

и тот же код с TextElement вместо TextBlock. Обе работы для других столбцов, но не для этого с гиперссылкой.

7
задан Dave Clemmer 16 August 2011 в 16:06
поделиться

1 ответ

Используйте следующее объявление для ссылки:

<Run Text="{Binding Title}" 
     Foreground="{Binding 
         RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGridCell},
                                        Path=Foreground}"/> 
2
ответ дан 7 December 2019 в 18:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: