Binden Sie den Befehl vom Business-Objekt an View in MVVM

Ich fülle DataGrid in WPF über MVVM. Ich habe ein Geschäftsobjekt mit 4 Eigenschaften, um die Zeilen und Spalten im DataGrid zu erstellen.

<DataGrid CanUserAddRows="True" ItemsSource="{Binding Path=PersonsInfo}" AutoGenerateColumns="False"
                  CanUserDeleteRows="True" CanUserReorderColumns="True" 
                  CanUserSortColumns="True">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/>
                <DataGridTextColumn Header="Age" Binding="{Binding Path=Age}"/>
                <DataGridTextColumn Header="Date Of Birth" Binding="{Binding Path=DateOfBirth}"/>
                <DataGridTextColumn Header="Address" Binding="{Binding Path=Address}"/>
                <DataGridTemplateColumn>
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <Grid>
                                <Button Content="Remove..." Margin="3" Command="{Binding Path=RemoveCommand}" />
                            </Grid>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>

Wenn ich im obigen Code auf die Schaltfläche klicke, müssen die Datensätze aus dem DataGrid entfernt werden.

Ich brauche also die Voraussetzung, dass ich den Befehl in der Business-Objektklasse haben sollte, anstatt in der ViewModel-Klasse.

Während ich auf die Schaltfläche in jeder Zeile klicke, sollte diese entsprechende Zeile gelöscht werden.

Wie kann ich also herausfinden, welches Element im DataGrid ausgewählt ist, um die Zeile durch Befehlsausführung in der Geschäftsobjektklasse zu löschen, da die Geschäftsobjektklasse keine Informationen zu Elementen des DataGrid enthält?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage