WPF - DataGrids中的样式超链接

时间:2012-05-28 14:54:18

标签: wpf xaml wpfdatagrid

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

我找到了这个Q& A: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: ""; }

1 个答案:

答案 0 :(得分: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>