簡體   English   中英

如何在DataGrid列中設置Text的導航URL?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM