2011-03-01 5 views
0

뷰에서 바인딩 된 뷰 모델에 대해 AOP 작업을 수행하려고합니다. MVVM에 대한 몇 가지 개념과 예제를 읽었습니다. ViewModel 변경 사항을 수신하고 바인딩을 자동으로 수행하는 DataTemplate의 사용에 주목했습니다.MVVM에서 바인딩하기 전에 작업을 수행하기 위해 재정의 할 이벤트/메서드

바인딩하기 전에 뷰 모델에서 일부 초기화를 수행하고 싶습니다. 어떻게 WPF/MVVM으로이 작업을 수행 할 수 있습니까?

감사합니다.

바인딩 방법. . . 내용을 통해 데이터 컨텍스트

view.DataContext = viewModel; 

스루

템플릿

<DataTemplate DataType="{x:Type vm:SampleViewModel}"> 
<vw:SampleDisplayView /> 
</DataTemplate> 

제가 결합이 발생하기 전에 그들을보기 및 뷰 모델을 가로 초기화하려는

.

업데이트 : DataContextChanged 이벤트를 통해 뷰 모델을 가로 챌 수있었습니다. 이제 뷰를 초기화해야합니다.

+0

바인딩 실행 전에 초기화하고 싶습니까? – RockWorld

+0

예 :) DataContext 또는 Templates를 통해보기에서 바인딩하기 전에 작업을 수행하려고합니다. –

+0

이론적 인 예를 제공 할 수 있습니까? 단일 속성이 바인딩되기 전에 ... 잘 준비가 될 때까지 DataContext를 설정하지 않는 방법으로 발생합니다 ... 다시 질문에 혼란스러워합니다. –

답변

0

이 방법이 있습니다. 대부분의 툴킷에는이 기능이 있으므로 ViewLocator를 구현했습니다.

ViewLocator는 첨부 된 동작을 통해 구현되며 viewmodel을 찾고 datacontext에 할당하기 전에 초기화 작업을 수행해야합니다.

관련 문제