2012-05-28 182 views
4

我需要在WPF4 DataGrid控件中設置超鏈接(它們出現在DataGridHyperlinkColumn類型的列中)。我在項目中有許多DataGrid,並且想要將超鏈接樣式應用於所有這些樣式。WPF - DataGrids中的超鏈接

我發現這個問答&答: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: ""; } 

回答

3

由於屬性值繼承的鏈路上的所有實例繼承您已經創建因爲你沒有使用X風格:關鍵屬性。通過這個,你可以從你的控件象下面引用此

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

您可以添加x:Key屬性

<Hyperlink NavigateUri="http://www.google.co.in" Style={StaticResource HyperlinkStyle1}>Click here</Hyperlink> 
+0

我認爲那時,應用自定義樣式** **只爲在其祖先中有** DataGrid的鏈接實例是不可能的。謝謝你的回答:) –

+0

@buli anytime dude;) –

+0

@buli - 你可以在數據網格的資源中放置一個無鑰匙的樣式,然後只有數據網格中的鏈接會獲得樣式,其他鏈接將具有默認樣式。 – XAMeLi