【发布时间】:2010-10-13 16:17:09
【问题描述】:
我正在使用 WPFToolkit 的 Datagrid 控件。我可以填充数据网格,但我遇到了 DataGridHyperlinkColumn 的问题。我希望它将链接直观地显示为人员的名称,但要让链接转到 UriLink 的值。
我该怎么做?我究竟做错了什么?
Xaml:
<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
【问题讨论】:
标签: wpf vb.net xaml datagrid wpftoolkit