Gibt es eine Möglichkeit, einen Befehl mit einer DataGridHyperlinkColumn zuzuordnen? Ich habe dies versucht:Gibt es eine Möglichkeit, einen Befehl mit einem WPF-Toolkit DataGridHyperlinkColumn zu verknüpfen?
<DataGridHyperlinkColumn Header="Client Name" Binding="{Binding ShortName}">
<DataGridHyperlinkColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Hyperlink.Command"
Value="{Binding DataContext.NavigateToClientCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:ClientsSummaryView}}}"/>
<Setter Property="Hyperlink.CommandParameter" Value="{Binding}"/>
</Style>
</DataGridHyperlinkColumn.ElementStyle>
</DataGridHyperlinkColumn>
Zur Laufzeit kann ich sehen, dass die Bindung korrekt ausgewertet wird (die Eigenschaft Getter für den Befehl genannt wird), aber der Befehl wird nicht ausgeführt, wenn ich den Hyper-Link klicken. Gibt es einen besseren Weg, dies zu tun?
Danke,
Daniel
Abe: Danke. Ich hatte gehofft, um DataGridTemplateColumn zu verkürzen, aber, ehrlich gesagt, sieht es nicht viel schlechter aus als das, was ich hatte. Danke noch einmal! – dks1983
Können Sie erklären, wie der '' funktioniert? Es sieht sehr kompliziert aus. –
Dai
@Dai - dies ist eine 'RelativeSource'-Bindung an eine' ICommand'-Eigenschaft im 'DataContext' von' ClientsSummaryView', wo diese Spalte hinzugefügt wird. Diese Frage wurde nach diesen Bindungstypen gestellt und wird Ihnen hoffentlich helfen, sie besser zu verstehen: http://stackoverflow.com/questions/84278/how-doi-i-use-wpf-bindings-with-relativesources/84317#84317 –