파일 브라우저 컨트롤에서 의존성 프로퍼티 바인딩 문제 해결
사용자 정의 파일 브라우저 컨트롤을 구축하는 동안 파일을 선택하면 컨트롤의 내부 텍스트 상자를 업데이트하지만 부모보기 모델의 속성으로의 변경을 전파하지 못하는 경우 일반적인 문제가 발생합니다. 이것은 및 표준 바인딩을 사용할 때도 발생합니다.
근본 원인은 종종 생성자 내에서 usercontrol 자체를 설정하는 데 비롯됩니다.
SelectedFile
이 자체 참조 DependencyProperty
는 부모로부터 상속 된
를 무시하고 부모 뷰 모델에 대한 바인딩을 깨뜨립니다.
솔루션 :
바인딩 사용 DataContext
솔루션에는 USERCONTROL의 XAML 내의 바인딩을 수정하여 부모보기 모델을 명시 적으로 타겟팅합니다. 시각적 트리를 가로 지르려면 를 사용하십시오
<code class="language-csharp">DataContext = this;</code>
이 개정 된 바인딩은 USERCONTROL의 속성이 USERCONTROL의 DataContext가 내부적으로 설정된 경우에도 부모보기 모델의 DataContext
속성에 올바르게 바인딩되도록합니다.
이제 usercontrol을 포함시킬 때 :
바인딩은 예상대로 작동하여 파일 선택시 부모보기 모델의 속성을 업데이트합니다.위 내용은 내 종속성 전문가 바인딩이 부모 뷰 모델을 업데이트하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!