2010-04-08 6 views
0

UserControl1 안에 UserControl UserControl1 및 버튼이 있습니다. 그리고 단추에 대한 ICommand 속성이있는 UserControl1ViewModel 있습니다. 이 명령을 사용하여 VM 외부의 메소드 (다른 VM 또는 MainWindow의 VM에서)를 호출해야합니다. 이것에 대한 가장 좋은 방법은 무엇입니까?사용자 정의 컨트롤 내에서 컨트롤 재사용

답변

0

당신은 로랑 Bugnion http://www.galasoft.ch/mvvm/getstarted/

이 MVVM 개념을 적용 할 수 있도록하기위한 경량 툴킷에 의해 MVVM 라이트를 검사 할 수 있습니다. 이 뷰에서 모든 뷰 모델은 ViewModelLocator 클래스의 정적 멤버입니다. 그래서 예를 들어, 당신의 명령에서 당신은 이와 같은 것을 할 수 있습니다.

ViewModelLocator.MainViewModel.MainContent = NewContent; 

당신은 완전히 MVVM 라이트없이이 작업을 수행하지만, 그것을 사용하는 것은 정말 학습 곡선을 단축하고 모듈 방식을 적용 할 수 있습니다.

0

두 개의보기 모델 간의 통신을 처리하기 위해 Mediator 패턴을 구현할 가능성이 가장 높습니다.

같은 맥락에 따라 다른 SO 질문은 mvvm-view-model-view-model-communications

+0

중재자 패턴을 이해합니다. 하지만 나는 명령에 대한 외부 처리기를 허용하는 방법에 대해 혼란스러워합니다. – Lance

관련 문제