이것은 다소 기본적인 질문이라고 생각하지만 이에 대한 대답을 찾을 수 없었습니다.WPF MVVM 응용 프로그램에서 상속과 마스터 - 세부 관계
다음과 같은 시나리오가 있습니다 : 어떤 형태의 EntityFrameWork도 사용하지 않고 PersonViewModel과 PersonViewModel을 가지며 PersonViewModel에서 상속받습니다. PersonView에서 Grid에 PersonViewModel 콜렉션을 표시합니다. Name, DateOfBirth 등의 속성을 열로 사용합니다. 사람을 두 번 클릭하면 PersonDetailsView에 대한 바운드 인 PersonDetailView가 나타납니다. 이보기에는 사람에 대한 추가 정보 (성별, 사회 보장 번호 등)가 있습니다. 사용자가 모든 속성을 수정하도록 허용했습니다.
이제 PersonViewModel이 PersonDetailsViewModel에서 편집 된 값으로 업데이트되었는지 확인하는 것이 가장 좋은 방법인지 궁금합니다.
몇 가지 옵션을 생각해 볼 수 있습니다. 처음에는 다른 ViewModel을 사용하지 않고 PersonDetailViewModels를 사용하여 그리드에 표시 할 수있었습니다. 단점은 ViewModel 당 많은 불필요한 데이터를 검색해야한다는 것입니다. PersonDetailsView가 닫힌 후에도 해당 속성을 동기화 할 수 있습니다. 내가 생각할 수있는 세 번째 옵션은 PersonView에서 상속하는 대신 PersonView 유형의 PersonView에 속성을 포함시키고 속성을 공개하고 PersonDetailsView에서 바인딩에 사용하는 것입니다. PersonDetailsViewModel의 다른 모든 추가 속성은 생성자에서 검색됩니다.
MVVM을 Viewmodel First로 구현하고 INotitfyPropertyChanged를 구현하면 모든 PersonViewmodel에는 PersonDetailsViewmodel이 있으므로 아무 것도하지 않아도됩니다. – blindmeis
일부 코드를 게시하면 귀하의 질문에 모두 답변하는 데 도움이됩니다. – blindmeis