2010-04-07 3 views
3

다른 것들 중에서도 일부 데이터로드를 수행하는 제 3 자 컨트롤이 있습니다. 내 viewmodel이로드 작업을 추적하고 그에 따라 자체 상태를 조정하기를 원합니다.타사 컨트롤을 viewmodel에서 사용하는 방법은 무엇입니까?

내게 달린 경우보기에서 멀리 떨어진 곳으로 데이터를로드 할 수 있지만 그렇지 않습니다. 그래서, 나는 내 viewmodel이 내 견해에 달려있는 상황에있는 것 같습니다. 이걸 어떻게 처리해야합니까? 뷰가 뷰 모델로 이벤트를 퍼블리싱하는 것을 다소 더러워하지만,이 정보를 뷰 모델로 가져 오는 다른 적당한 방법은 없다.

비슷한 상황이 표준 컨트롤에서도 나타날 수 있습니다. 뷰 모델이 MediaElement에서 가져온 이벤트에 종속되는지 상상해보십시오. 어떻게 제대로 모델링합니까? MediaElement를 뷰 모델에 배치합니까? 그건 맞지 않아.

이벤트를 viewmodel에 게시하는 것이 실제로 가장 합리적인 방법 일 때 일반적으로 사용되는 패턴이 있습니까? 어떻게 할 수 있니?

답변

0

일반적으로 ViewModel은 뷰 컨트롤의 세부 사항이나 유형을 알 수 없습니다. 이벤트에 응답하는 것이 더 깨끗한 방법입니다. ViewModel의 컨트롤을 ICommand에 매핑하는 동작을 포함하는 여러 라이브러리가 있습니다.

Caliburn은 이러한 라이브러리 중 하나입니다. ViewModel의 메서드에 컨트롤 이벤트를 매핑 할 수 있습니다.

+0

다른 라이브러리의 동일한 접근 방식을 사용합니다. 매우 깨끗합니다. –

관련 문제