[英]How to set navigation url for Text in DataGrid Column?
我的WPF窗口中有一個DataGrid綁定到數據庫。 數據庫字段是Link, Title, SavedOn
,它們分別具有類型nvarchar, nvarchar and DateTime
。 目前,所有的數據綁定都綁定到DataGrid中的不同列。 我使用DataGridHyperLinkColumn
for Link列和Event Setter
來捕獲Hyperlink.Click
事件。 一切都很好。
問題:
但是,現在我想讓它這樣的方式在文本Title
數據網格鏈接到的欄目Link
被點擊的時候帶我到Link
。采用這種方法,我可以節省一列既是標題和點擊鏈接是在一列就像在正常的網頁中一樣。任何想法我怎么能這樣做? 目前網格看起來像這樣:
另外,如何將鏈接的默認皇家藍色更改為其他內容?
使用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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.