作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 DataGrid
中的专栏之一包含 Hyperlink
在 TextBlock
. When a row is selected, the hyperlink shows as blue on blue, so i want to change it's text color to white.我怎样才能做到这一点?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
.两者都适用于其他列,但不适用于带有超链接的这一列。
最佳答案
对链接使用以下声明:
<Run Text="{Binding Title}"
Foreground="{Binding
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGridCell},
Path=Foreground}"/>
关于wpf - TextBlock 内的样式超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3400662/
我是一名优秀的程序员,十分优秀!