2012-01-30 23 views
0

我在我的WPF窗口中綁定到數據庫的DataGrid。數據庫字段爲Link, Title, SavedOn,它們的類型分別爲nvarchar, nvarchar and DateTime。目前所有的字段都綁定到DataGrid中的不同列。我使用DataGridHyperLinkColumn作爲Link列,Event Setter用於捕獲Hyperlink.Click事件。一切工作正常。如何在DataGrid Column中爲文本設置導航URL?

問題:

但現在我想讓它這樣的方式在Title列數據網格鏈接到Link是點擊後的文本帶我到Link。採用這種方法,我會救一列作爲標題和可點擊的鏈接在一個列中,就像在正常的網頁中一樣。任何想法我怎麼去解決這個問題?目前網格看起來像這樣: enter image description here

另外,我怎樣才能更改鏈接的默認皇室藍顏色到別的東西?

回答

2

使用ContentBinding來指定鏈接的顯示文本(只是擺脫Title列)。

要顯示超鏈接文本比所述URI字符串不同,可使用ContentBinding屬性。

款式在整個電網中的超鏈接添加樣式到DataGrid.Resources

<DataGrid.Resources> 
    <Style TargetType="Hyperlink"> 
     <Setter Property="Foreground" Value="Green" /> 
     <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="true"> 
       <Setter Property="Foreground" Value="Lime" /> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</DataGrid.Resources> 

...僅在一列應用它並將其指定爲列的ElementStyle,您需要儘管它嵌套在TextBlock風格。

<DataGridHyperlinkColumn.ElementStyle> 
    <Style TargetType="TextBlock"> 
     <Style.Resources> 
      <Style TargetType="Hyperlink"> 
       <!-- ... --> 
      </Style> 
     </Style.Resources> 
    </Style> 
</DataGridHyperlinkColumn.ElementStyle> 
+0

工程很好。謝謝! – 2012-01-31 02:32:07

相關問題