2 Stimmen

Abrufen von Daten aus Datagrid auf Schaltfläche klicken in WPF-Anwendung

Ich habe eine Datentabelle, die aus einem Kontrollkästchen und mehreren Spalten besteht. Wenn der Kunde das Kontrollkästchen anklickt, feuere ich das Ereignis "Auswahl geändert" ab, das einige Daten aus der ausgewählten Zeile im Etikett anzeigt. Aber ich brauche, dass ausgewählte Zeile Daten, wenn ich eine Schaltfläche als gut klicken.

Gibt es eine gute Möglichkeit, das abzurufen?

6voto

H.B. Punkte 140726

Ausgehend von Ihrem Kommentar sollten Sie dies versuchen (die DataGrid heißt dataGrid in XAML):

private void Button1_Click(object sender, RoutedEventArgs e)
{
    // If the grid is populated via a collection binding the SelectedItem will
    // not be a DataGridRow, but an item from the collection. You need to cast
    //  as necessary. (Of course this can be null if nothing is selected)
    var row = (DataGridRow)dataGrid.SelectedItem;
}

Könnte die Tag ( Edit: Wenn Sie eine CheckBoxColumn verwenden, können Sie die Stile verwenden, um dies zu tun, wenn Sie Probleme damit haben, könnte ich ein Beispiel geben ) :

<DataGridTemplateColumn>
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Button Click="Button1_Click"
                    Tag="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow}}"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

private void Button1_Click(object sender, RoutedEventArgs e)
{
    var button = (FrameworkElement)sender;
    var row = (DataGridRow)button.Tag;
    //...
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X