代码之家  ›  专栏  ›  技术社区  ›  svick Raja Nadar

文本块内的样式化超链接

  •  7
  • svick Raja Nadar  · 技术社区  · 15 年前

    DataGrid 包含 Hyperlink TextBlock . 当选中一行时,超链接显示为蓝对蓝,因此我想将其文本颜色更改为白色。我该怎么做?

    这个 看起来像这样:

    <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 而不是

    1 回复  |  直到 14 年前
        1
  •  2
  •   Robert Harvey    7 年前

    <Run Text="{Binding Title}" 
         Foreground="{Binding 
             RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGridCell},
                                            Path=Foreground}"/> 
    
    推荐文章