Я использую элемент управления Datagrid от WPFToolkit. Я могу заполнить сетку данных, но у меня возникли проблемы с 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