我正在使用 WPFToolkit的Datagrid控件.我可以填充数据网格,但是我遇到了DataGridHyperlinkColumn的问题.我希望它可以直观地显示链接作为Person的名字,但是链接可以转到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将o作为TextBlock,它的DataContext是你的行的对象.您可以将其强制转换为对象类型.