Una delle colonne nel mio DataGrid
contiene un Hyperlink
in un TextBlock
. Quando viene selezionata una riga, il collegamento ipertestuale viene visualizzato in blu su blu, quindi voglio cambiare il colore del testo in bianco. Come lo posso fare?Collegamento ipertestuale all'interno di un blocco testo
Il DataGrid
assomiglia a questo:
<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>
Ho provato
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="TextBlock.Foreground" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
e lo stesso codice con TextElement
invece di TextBlock
. Entrambi funzionano per altre colonne, ma non per questo con collegamento ipertestuale.
Questo rende il collegamento ipertestuale il colore corretto quando selezionato, ma rende anche più nero quando non è selezionato e io non voglio questo. – svick
Estendi il tuo stile per soddisfare le tue esigenze – HCL
Heh, questo non mi è venuto in mente. Sì, funziona ora, grazie. Sono ancora curioso di sapere se c'è un modo migliore per farlo, comunque. – svick