2011-02-24 3 views
4

MVVM Light 로맨틱 한 MVV가 MVVM에 소개되었습니다. 하나의 뷰 컨벤션에는 하나의 뷰 모델이 있습니다. 그렇다면 사용자 컨트롤을위한 어림짐작은 무엇입니까? 각 사용자 정의 컨트롤에 대한 하나의 ViewModel? 둘 이상의 사용자 정의 컨트롤을 사용하는보기를 만들 때 다른보기 모델을 만들어 사용자 정의보기 모델을 집계합니까? 입력에 미리MVVM/User Controls & View = ViewModel 컨벤션

감사합니다. 내 MVVM 프로젝트에서 리처드

답변

4

는 당신이 제안 일을하는 경향이 : 모두 함께 이러한 집계 다른 뷰 모델에 UserControl을 당 하나의 뷰 모델.

그 집계 ViewModel은 종종 다른 UserControl보다는 윈도우의 ViewModel이 될 것입니다. 그렇다고해서 반드시 필요하지는 않습니다. 내 기본 설정과 기록 및 WPF에서 주로 작업 한 결과 일 수 있습니다.

UserControl에 대한 별도의 ViewModel이없는 곳은 매우 특정한 재사용 가능한 UserControls (특정 시각 효과가있는 단추 또는 사용자 지정 슬라이더)를 만드는 곳입니다.

그건 내 프로젝트 구조에 반영됩니다. 저는 ViewModels이없는 UserControls와 Windows 또는 UserControls 인 ViewModel에 대해 두 개의 표준 폴더가 있으며 ViewModels를 항상 가지고 있습니다.

2

각 사용자 컨트롤에 대해 하나의 ViewModel이 필요합니까?

예, 일반적으로 UserControl은 일반적으로 다른 뷰입니다. 이것은 일반적으로 UserControl 당 ViewModel을 의미하며 "부모"VM이이를 집계하여 (데이터 집계 뷰와 일치시키기 위해).

그러나 예외가 있습니다. UserControl이 실제로 비즈니스 용도와 관련이없는 사용자 지정 컨트롤로 작동하는 경우 "순수보기"일 수 있습니다. 이 경우 100 %보기이기 때문에 해당 컨트롤에 대해 VM을 갖고 싶지 않을 수 있습니다.