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>
または、代わりにイベント ハンドラーを配置し、移動先のページ オブジェクトを作成しますが、イベントの 2 つのパラメーター (この場合は 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