4

我需要在 WPF4 DataGrid 控件中设置超链接的样式(它们出现在 DataGridHyperlinkColumn 类型的列中)。我在项目中有许多 DataGrid,并希望将超链接样式应用于所有这些。

我找到了这个问答:WPF Style DataGridHyperlinkColumn并为 HyperLink 控件创建了样式:

<Style TargetType="{x:Type Hyperlink}">
    <Setter Property="TextDecorations" Value="" />
</Style>

它工作正常,但显然它也会影响所有其他超链接,例如。在

<TextBlock>
    <Hyperlink NavigateUri="http://www.google.co.in">Click here</Hyperlink>
</TextBlock>

如何仅针对 DataGrids 中的超链接?在 CSS 语法中,它类似于

DataGrid Hyperlink {TextDecorations: ""; }
4

1 回答 1

3

由于属性值继承,所有链接实例都会继承您创建的样式,因为您没有使用x:key属性。

您可以添加x:Key属性:

<Style TargetType="{x:Type Hyperlink}" x:Key="HyperlinkStyle1">
    <Setter Property="TextDecorations" Value="" />
</Style>

通过使用它,您可以从您的控件中引用它,如下所示:

<Hyperlink NavigateUri="http://www.google.co.in" Style={StaticResource HyperlinkStyle1}>Click here</Hyperlink>
于 2012-05-28T15:13:29.973 回答