我正在使用 WPFToolkit 的 Datagrid 控件。我可以填充数据网格,但我遇到了 DataGridHyperlinkColumn 的问题。我希望它将链接直观地显示为人员的名称,但链接可以转到 UriLink 的值。
我怎样才能做到这一点?我究竟做错了什么?
xml:
<dg:DataGridHyperlinkColumn Header="Person Name" Width="200"
Binding="{Binding Path=PersonName}" IsReadOnly="True"
TargetName="{Binding Path=UriLink}"></dg:DataGridHyperlinkColumn>
或者,我宁愿放置一个事件处理程序,并创建要导航到的页面对象,但我似乎无法从事件的两个参数(在本例中为 o 和 e)中提取任何数据,其中 obj1/obj2是单击的超链接行的对象/变量。
替代 Xaml:
<dg:DataGridHyperlinkColumn Header="Person Name" Width="200"
Binding="{Binding Path=PersonName}" IsReadOnly="True"
TargetName="{Binding Path=UriLink}">
<dg:DataGridHyperlinkColumn.ElementStyle>
<Style TargetType="TextBlock">
<EventSetter Event="Hyperlink.Click" Handler="OnHyperlinkClick" />
</Style>
</dg:DataGridHyperlinkColumn.ElementStyle>
</dg:DataGridHyperlinkColumn>
VB 代码(用于替代 Xaml):
Private Sub OnHyperlinkClick(ByVal o As Object, ByVal e As RoutedEventArgs)
'TODO: Create page to navigate to
Dim page As New RedirectPage(obj1, obj2)
Me.NavigationService.Navigate(page)
End Sub