엔티티 (직원, 비즈니스 등)에 대한 하나 이상의 주소를 표시/관리하는 사용자 정의 컨트롤이 있습니다.MVVM/ViewModel/UserControl/DataContext/Command - 디자인 문제/토론
저는 컨트롤 내의 주소 UI를 캡슐화하여 다양한보기에서이 사용자 정의 컨트롤을 활용했습니다.
내가 잡고 몇 ViewModels이/여러 다른 관점에서 주소 수집 노출 - 그 각각 보통 내가 사용자에게 적절한의 DataContext를 통과 한
다른 뷰 모델 (각보기에 대한 하나의 ViewModel)에 의해 관리된다 즉, 주소 컬렉션을 노출하는 다양한 ViewModel이 있지만 DC 바인딩을 통해 적절한 컨텍스트를 전달할 수 있습니다.
내가 질문을 추가하고 제거하기 위해 Command Logic을 어디에 두어야합니까? 각보기 모델에서 동일한 명령을 넣지 않으려 고합니다. 간단히 코드를 반복하는 것입니다.
MVVM을 처음 사용하기 때문에 IAddressCommand 인터페이스로 클래스를 만들고 각 ViewModels에서 명령을 작성하면됩니까? 다른 ViewModel 내에 뷰 모델을 캡슐화합니까?
생각하십니까? 명령이 주소의 각 유형에 대한 동일한 경우 감사 리처드
사운드는 좋지만 모든 ViewModels에 대한 기본 클래스가 있으며 다중 상속이 작동하지 않습니다! – codeputer
@codputer 기존 'ViewModelBase'에서 상속받은 AddressViewModel을 도입 한 다음 기존 클래스를 상속하도록 변경할 수 있습니다. –
작동하지만 CommandModel에서 직접 설정 한 명령 멤버와는 다른 구성 요소의 DataContext 문제가 개체 그래프의 다른 수준에서 설정됩니다. DataContext를 객체 그래프 위로 이동하면 필드 바인딩이 트리에서 더 깊은 레벨을 참조해야합니다. – codeputer