Schießen mit einem RelayCommand von einer Schaltfläche innerhalb eines WPF-DataGrid

Ich habe eine DataGrid zeigt eine Liste der Kunden, die in XAML definiert wie folgt gebunden mein ViewModel:

<DataGrid Name="CustomersDataGrid" ItemsSource="{Binding Customers}">
    <DataGrid.Columns>
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Button Command="{Binding showCustomerCommand}" 
                        Content="{Binding Path=Name}"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

Die raster-Anzeige funktioniert einwandfrei. Ich möchte in der Lage sein, um die Anzeige der Angaben eines einzelnen Kunden. Ich hatte vorher das setup eine Bindung für die ausgewählte Zeile, und hatte eine Schaltfläche auf der Seite, die gebunden war, um den folgenden Befehl ein:

RelayCommand _showCustomerCommand;
public ICommand showCustomerCommand
{
    get
    {
        if (_showCustomerCommand == null)
        {
            _showCustomerCommand = new RelayCommand(param => this.ShowCustomer());
        }
        return _showCustomerCommand;
    }
}

private void ShowCustomer()
{
    if (Parent != null)
    {
        //Handle Customer Display Here
    }
}

Dies funktionierte gut. Aber ich möchte in der Lage sein, um Sie auf eine Schaltfläche innerhalb der einzelnen Zeile, sondern die einzige Schaltfläche auf der Grundlage der ausgewählten Zeile. Ich weiß, der datacontext ist falsch in der obigen XAML, aber ich weiß nicht, wie es richtig ist, noch wie Sie zu passieren, die bestimmten Zeile, aus der Sie die Taste drücken Sie stammt. Alle Vorschläge, mir zu helfen, den Draht meine embedded-Taste werden dankbar angenommen!

Hey, ich weiß, ich bin Grab zu Graben-ein bisschen hier, aber hast du eine Lösung finden, um dieser situation? Ich bin versucht, das gleiche erreichen.

InformationsquelleAutor Adrian Hand | 2012-08-29

Schreibe einen Kommentar