我正在使用以下代码在 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/