UserControl의 "인텔리전스"가 viewModel에있는 MVVM 패턴으로 UserControl을 만들었습니다.MVVM UserControl 및 해당 컨트롤을 사용할 때 바인딩
다른 뷰 (xaml)에서 UserControl을 사용하여 해당 뷰의 개발자가 어떻게 수행되었는지 신경 쓸 필요가 없습니다.
내 프로그래머가 일부 컨텍스트 정보를 제어 할 수 있도록 일부 UserControl에 dependencyProperties를 추가했습니다.
하지만 바인딩 문제가 있습니다. client.xaml에서
:
<Grid>
<MyUserControl MyDependencyProperty0={Binding ClientViewModelProperty0}/>
</Grid>
및 TextToDisplay가 MyUserControlViewModel의 속성이다
<Grid>
<TextBlock Text={Binding TextToDisplay}/>
</Grid>
myusercontrol.xaml
에 . 그것은 자신의 데이터 컨텍스트 (해당 뷰 모델)을 가지고 있기 때문에 내가 한 번만 설정 될 ClientViewModelProperty0 필요, 나는내가 솔루션이 다른 바인딩 될 가정을 MyUserControl의의 DataContext로 설정 될 clientViewModel 필요하지 않습니다 표현식 구문 (상대 소스 자체?) 그러나 어느 하나를 볼 수 없습니다 ...
"사용자 정의 컨트롤을위한 뷰 모델을 만드는 것은 코드 냄새입니다"라는 답을 나에게 다시 복사 할 시간이 되었습니까? 문제가 발생한 이유는이 때문입니다. 잠깐 생각해보십시오 : TextBox 컨트롤에는 TextBoxViewModel이 있습니까, 아니면 뷰 모델이 바인드하는 속성과 이벤트가 있습니까? 그렇다면 UserControl이 왜 똑같이 작동하지 않는 이유는 무엇입니까? [내 "하지 마!" 답변] (http://stackoverflow.com/questions/25795871/wpf-databinding-with-mvvm-and-user-controls/25796096#25796096) – Will