MVVM은 코드 숨김을 의미하지 않습니다.
MVVM은 관심사를 분리하는 패턴입니다. 그것은 (외관의 순서대로)의 세 부분으로 응용 프로그램의 아키텍처를 분리하는 데 도움이 :
Model
View
ViewModel
Model
비즈니스 로직을 포함하는 클래스입니다.
View
코드가 버튼을 클릭 이벤트 핸들러의 예를 들어보기 만의 논리 (
를 포함하지 않는 다른 하나의 텍스트 상자의 색상을 복사 코드 숨김 가지고 확인 만보기 관련 로직 (XAML
및 code-behind
)를 포함 뷰 클래스를 나타냅니다 ,
ViewModel
는 View
에 대한 참조없이보기의 동작을 나타냄) 물론 이는 XAML
에서 수행 할 수 있지만,보기의 MVVM
점에서 그것은 중요하지 않습니다.Visibility
보기 관련
public Visibility MyVisibility { get; set; }
그래서 MVVM
의 부품 간의 종속성 유형이 있기 때문에, 예를 들어 제 생각에이 속성이, MVVM
패턴을 위반하는 것입니다
주의 사항은 다음과 같이 진행됩니다
Model
는 아무것도
모르는
ViewModel
는 약
Model
View
에 대한
ViewModel
알고 알고
ViewModel
에 경계 얼마나 밀접하게
View
보기 ---> 뷰 모델 --->MVVM
를 사용하는 모델
내 생각은 중요하지 않습니다. ViewModel
의 속성과 명령을 사용하기 때문에 이미 제한되어 있습니다.
예를 들어 인터페이스를 ViewModel
으로 사용하여 경계를 단단히 지정하지 않으면 실제 ViewModel
없이보기를 테스트 할 수 있습니다 (예 : 자신의 "디자인 타임"보기 모델 만들기).
당신이 완전히 당신이 기대대로
이 방법이 작동
ViewModel
의 유형에서View
를 분리 할 필요가 충족 될 때까지 현재의 솔루션 작품과 만족 사용자의 필요와 그냥MVVM
및WPF
로 시작하는이 그와 함께 계속하면? – FabioWPF 채팅방에 자유롭게 들려주십시오. 우리는 MVVM을합니다. //chat.stackoverflow.com/rooms/18165/wpf –
@Fabio 네, 꽤 잘 작동하고 있습니다. 하지만 모든 웹 사이트에는 "zero-codebehind"라는 말이 있기 때문에 다른 방법이 있어야한다고 생각했습니다. –