여기에있는 것이 있습니다 :MVVM - 중첩 목록 및보기 모델과 관련된 올바른 트랙은 무엇입니까?
저는 GetHistoryLog보기,보기 모델 및 모델이 있습니다.
은 내가 버전 항목을 얻기에 전문 다른 뷰를 가지고 ObservableCollection<ChangesetEntity>
를 가리키는 목록 상자, 그래서 그것은 VersionedItemView, 해당 뷰 - 모델과 그 모델입니다.
이제 GetHistoryLog보기에서 변경 집합 내의 특정 버전 항목에 액세스하려고합니다. 각 변경 집합에는 여러 버전 항목이있을 수 있습니다. 두 가지보기 모델을 "연결"하는 가장 좋은 방법은 무엇입니까?
모든 변경 집합과 하위 파일을 포함하는 트리보기와 모든 변경 집합을 포함하는 단일 목록보기, 변경 집합을 클릭하고 수정 된 파일을 볼 수있는 옵션이 있습니다.
기본적으로 항목 목록 안에있는 항목 목록에 액세스하고 동시에이 목록의 특정 색인에 액세스 할 수있는 옵션이 있습니다.
다른보기 모델을 만들어야합니까? 코드에서 혼란없이 최상의 솔루션은 무엇입니까?
은 내가 ADV에서
감사 충분히 명확했다 바랍니다.!
편집 : 또한 컨트롤의 DataContext를 목록의 특정 항목으로 동적으로 설정할 수 있습니까?
편집 : 더 명확하게 설명하려고 :
HistoryLogEntryModel -> GetHistoryLogVM -> GetHistoryLogUserControl
VersionedItemLogModel -> GetVersionedItemsLogVM -> GetVersionedItemsLogUserControl
내가 원하는 것은 :
HistoryLogEntryModel + VersionedItemLogModel -> ? -> GetCompleteHistoryLogWithVersionedItemsUserControl
(짧은 이름, 그러나 다만 이해)
도메인에 대한보다 간결한 설명을 제공 할 수 있습니까? imho를 사용하면 모델을 잘 이해하면 M-V-VM 문제를 쉽게 처리 할 수 있습니다. –
제공하신 모델에 대한 추가 설명이 내가 원하는 것을 정확하게 설명하지 않습니다.HistoryLogEntry 개체가있는 것 같습니다. ChangeSet 객체 (컬렉션?). ChangeSet은 _n_ VersionedItemLog 객체 (다른 컬렉션)를 포함합니다. 이것은 VM과 Views/UserControls의 혼란없이 도메인 모델을 설명합니다. –
만약 내가 충분히 명확하지 않은 경우 미안 해요. 네, 내 도메인 모델을 설명합니다 : HistoryLogEntry는 ChangeSet 객체의 컬렉션을 포함합니다. 각 변경 집합에는 버전이있는 항목이 n 개 있습니다. –