我的 DataGrid
中有一列是一个 TextBlock
,其中包含一个 Hyperlink
。当选择了一行时,超链接的颜色显示为蓝色在蓝色上面,因此我希望将其文本颜色更改为白色。我该如何做?
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
的相同代码。这两个都适用于其他列,但不适用于此具有超链接的列。