2010-07-19 3 views
2

특히 MVVM Light 툴킷에 있습니까? 필자는 프리즘 코드를 아직 보지 않았지만 WPF UI에서 영역과 관련하여 무엇을하는지 보았다. 메시징 및 MVVM Light의 ViewModelLocator와 비슷한 것처럼 보일 수 있습니다 .... 할 수 있습니까? 아무도 당신이 어떻게 할 수있는 몇 가지 예를 줄 수 있습니까? 본질적으로 버튼을 클릭하고 두 개의 다른 뷰 모델을 UI에로드하려고합니다. 아마도 더 나은 설명 방법은 Outlook과 유사한 탐색 창 기능입니다.프리즘없이 WPF에서 영역을 수행하는 방법?

답변

4

이것은 프레임 워크없이 WPF에서 매우 쉽게 수행 할 수 있습니다.

해당 ViewModel에 표시 할 View에 ViewModel을 매핑하는 응용 프로그램 (또는 Window/UserControl 수준)에 DataTemplate을 설정하기 만하면됩니다.

그런 다음 ContentPresenter을 사용하고 ViewModel 내에서 단일 내용 (object 일 수 있음)에 내용을 바인딩 할 수 있습니다. "영역"을 특정보기로 설정하려면 속성을 적절한 ViewModel로 설정하면 WPF가 자동으로 모든 것을 연결합니다.

+0

달콤한, 나는 XAML 방식이 있어야한다고 생각했습니다. 감사. – nportelli

+0

확인. 나는 충분히 이해하지 못하고있다. DataTemplate을 설정하지 않았다고 가정합니다. 보기 모드로 ViewModel을 매핑하는 방법을 잘 모릅니다. 나는 그것이 내가 지금처럼 객체 이름을 얻지 못한다고 가정하고 있습니다. 그러나 그것은 뷰가 어떤 뷰 모델을 표시해야 하는지를 알아야한다는 것을 의미합니까? – nportelli

+1

@nportelli : View 레이어는 어딘가에서 "ViewModel XXX가 YYY보기로 이동"하도록 지정해야합니다. 그게 전부 야. 내 MVVM 시리즈에서 "템플릿"(및 선택적으로 샘플 코드 참조) 섹션을 읽어보십시오. 이 기술을 사용하고 DataTemplates를 작동시키는 방법을 설명합니다. http://reedcopsey.com/series/windows-forms-to-mvvm/ –

관련 문제