Ich habe die itemsource von meinem WPF Datagrid auf eine Liste von Objekten von meiner DAL zurückgegeben. Ich habe auch eine zusätzliche Spalte hinzugefügt, die eine Schaltfläche enthält, die XAML ist darunter.WPF DataGrid - Schaltfläche in einer Spalte, die Zeile, aus der es auf dem Click-Ereignishandler kam
<toolkit:DataGridTemplateColumn MinWidth="100" Header="View">
<toolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="Button_Click">View Details</Button>
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellTemplate>
</toolkit:DataGridTemplateColumn>
Dies ist in Ordnung. Aber gibt es auf der Button_Click Methode, gibt es eine Möglichkeit, wie ich die Zeile auf dem Datagrid bekommen kann, wo sich die Schaltfläche befindet? Genauer gesagt, eine der Eigenschaften meiner Objekte ist "Id", und ich möchte in der Lage sein, dies in den Konstruktor eines anderen Formulars in der Ereignisbehandlungsroutine zu übergeben.
Vielleicht brauche ich etwas extra in meinem XAML, oder vielleicht mache ich das auf Umwegen? Jede Hilfe/Beratung geschätzt.
Der ideale Weg, um diese Art von Sachen zu tun, ist die Verwendung von Befehlen (im Grunde MVVM-Muster) können Sie ein Komma erstellen nd in Ihrem Data Object (ViewModel) und rufen Sie Button.Command auf, damit kein Code wie Button klickt. –
Können Sie das mit einem Befehl demonstrieren? –
@JobiJoy: Haben Sie ein Beispiel dafür mit einem Command/RelayCommand? Ich versuche einige Dinge, aber ich kann es nicht zum Laufen bringen. – VoodooChild