6
我的DataGrid
中的一列包含中的Hyperlink
。当选中一行时,超链接显示为蓝色,因此我想将它的文本颜色更改为白色。我怎样才能做到这一点?在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
相同的代码。两者都适用于其他列,但不适用于超链接。
这使得超链接正确的色彩选择时,也使得黑色未选中时,我不希望出现这种情况。 – svick 2010-08-03 21:38:58
扩展您的款式以符合您的要求 – HCL 2010-08-03 22:21:28
嘿,那不会发生在我身上。是的,现在有用,谢谢。不过,我仍然很好奇是否有更好的方法来做到这一点。 – svick 2010-08-03 22:49:08