Una de las columnas en mi DataGrid
contiene un Hyperlink
en un TextBlock
. Cuando se selecciona una fila, el hipervínculo se muestra en azul sobre azul, por lo que quiero cambiar el color del texto a blanco. ¿Cómo puedo hacer eso?Estilo hipervínculo dentro de un TextBlock
El DataGrid
se parece a esto:
<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>
He intentado
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="TextBlock.Foreground" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
y el mismo código con TextElement
en lugar de TextBlock
. Ambos funcionan para otras columnas, pero no para este con hipervínculo.
Esto hace que el hipervínculo el color correcto cuando se selecciona, pero también hace que sea negro cuando no está seleccionado y yo no quiero eso. – svick
Amplíe su estilo para adaptarse a sus necesidades – HCL
Heh, eso no se me ocurrió. Sí, funciona ahora, gracias. Todavía tengo curiosidad de saber si hay una mejor manera de hacerlo. – svick