Jak dodać nowy wiersz do DataGrid w MVVM Friendly Way

Mam następująceDataGrid

<DataGrid CanUserDeleteRows="True" 
          CanUserAddRows="True"
          SelectedItem="{Binding SelectedResource, Mode=TwoWay}"
          ItemsSource="{Binding Path=Resources, Mode=TwoWay,
                                UpdateSourceTrigger=PropertyChanged, 
                                IsAsync=True}"> ... </<DataGrid>

Używam wzorca MVVM do powiązania zObservableCollection<ResourceViewModel> Resources i to działa świetnie. Mam przycisk, który dodaje nowy wiersz, a robi się to przez dodanie nowegoResourceViewModel doResources kolekcja - świetna. Teraz chcę, aby użytkownik mógł kliknąć na pusty ostatni wiersz, a to automatycznie tworzy nowy rekord wDataGrid.

Upewniłem się, żeDataGrid maCanUserAddRows=True. Upewniłem się, że klasa w kolekcjiResources (ResourceViewModel), że wiążę się z domyślnym konstruktorem (bez parametrów) i upewniłem się, że typ kolekcji nie jest tylko do odczytu. Gdy użytkownik kliknie ostatni wiersz, domyślny konstruktor odpala, ale poprawnie tworzy instancję nowegoResourceViewModel obiekt wymaga odniesienia do siatkiResources kolekcja...

Przypuszczam, że mógłbym użyć iAttachedCommand naCellBeginEdit wydarzenie, a następnie dodaj nowyResourceViewModel do obserwowalnej kolekcji tam,czy jest to standardowy sposób?

Zauważ, że przeczytałem następujące pytania i nie są one dla mnie pomocne

WPF DataGrid - zdarzenie dla nowych wierszy?Jak dodawać wiersze za pomocą DataGrid i MVVM

Edytować. Okazuje się, że mam problemy z robieniem tego z powodu błędu w WPFDataGrid. WidziećBlog Nigela Spencera. Jednak jego poprawka nie działa dla mnie w tej chwili ...

questionAnswers(2)

yourAnswerToTheQuestion