xaml - wpf 中的超链接

标签 xaml wpfdatagrid xceed-datagrid xceed

我正在使用以下代码在 wpf 的 xceed 网格中创建超链接列。当我将数据表绑定(bind)到 xceed 网格时,该值正在绑定(bind)但未创建超链接。请帮助我。

<DataTemplate x:Key="ButtonTemplate">
        <TextBlock>
        <Hyperlink Click="Hyperlink_Click">
            <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Path=.}"/>
         <TextBlock Text="{Binding RelativeSource={RelativeSource   
             AncestorType= {x:Type xcdg:DataRow}},Path=DataContext.[Documents]}"/>
                </StackPanel>
        </Hyperlink>
    </TextBlock>
    </DataTemplate>

最佳答案

<xcdg:Column FieldName="ColumnTest" Title="Test">
                    <xcdg:Column.CellContentTemplate>
                        <DataTemplate>
                            <TextBlock>
                                <Hyperlink RequestNavigate="Hyperlink_RequestNavigate" NavigateUri="{Binding .}">
                                    <TextBlock Text="{Binding .}" />
                                </Hyperlink>
                            </TextBlock>
                        </DataTemplate>

                    </xcdg:Column.CellContentTemplate>
                </xcdg:Column>

您需要添加 RequestNavigate 事件处理程序,以便在单击超链接时发送请求。这应该会打开您的默认浏览器并直接转到您的页面。

这是事件处理程序的代码:

private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
        {
            Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));

            e.Handled = true;
        }

关于xaml - wpf 中的超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7848423/

相关文章:

c# - 在 XAML 中将 bool 值返回 null 到复选框状态转换器

wpf - 每次击键而不是在用户输入结束时都调用转换器

c# - 将数据网格列绑定(bind)到动态属性

C# WPF 数据网格 |只有一行没有内容

c# - 当 SplitView 处于紧凑模式时拉伸(stretch) SplitView.Pane 的内容

wpf - VS 2010 的痣?

c# - Xceed DataGrid SelectedItem问题

wpf - 防止 DataGrid 滚动吸附到行

c# - 将默认资源样式应用于所有 DataGridTextColumns

c# - WPF DataGrid 页脚行