我需要在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: ""; }
答案 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>