이상한 문제가 있습니다. WPF 화면에 확장형 TextBox
이 일부있는 경우가 있으며이 속성은 뷰 모델의 속성에 바인딩됩니다. 데이터 컨텍스트가 변경되면 변환이 다시 평가됩니다. 다시 평가하면 내 확장 TextBox
에 새 데이터 컨텍스트가 있지만 BindingOperations.GetBindingExpression(textBox, dpproperty).DataItem
은 여전히 이전 데이터 컨텍스트입니다. 내가 만든 변환은 데이터 컨텍스트를 변경 한 후에 너무 일찍 올 것입니까? 일반적으로 데이터 컨텍스트는 전체 화면으로 변경되지 않으므로 바인딩을 다시 평가해야합니까? 감사합니다.데이터 컨텍스트 변경 후 바인딩 문제가 발생했습니다.
2
A
답변
0
글쎄, 문제는 뷰의 바인딩이 DataContext
이 변경되었음을 알지 못한다는 것입니다. 그래서 그들은 처음에 할당 된 VM을 여전히보고 있습니다.
따라서 가장 좋은 방법은 다른 인스턴스를 할당하는 대신 DataContext
으로 할당 된 VM의 데이터를 변경하는 것입니다. VM은 INotifyPropertyChanged
을 구현해야하기 때문에 바인딩은 자동으로 업데이트됩니다.
관련 문제
- 1. WPF로 데이터 바인딩 문제가 발생했습니다.
- 2. 데이터 컨텍스트 내에서의 데이터 바인딩
- 3. 바인딩 WPF 및 데이터 컨텍스트
- 4. 사용자 지정 UserControl에서 데이터 바인딩 문제가 발생했습니다.
- 5. stopwatched에 대한 데이터 바인딩 문제가 발생했습니다.
- 6. 바인딩 라벨 내용은 데이터 컨텍스트
- 7. DNS 변경 후 Nginx 문제가 발생했습니다.
- 8. 데이터 바인딩 후 Datagridview의 컨트롤 변경
- 9. 목록에서 DataGridView 바인딩 문제가 발생했습니다.
- 10. 현재 컨텍스트 및 데이터 바인딩
- 11. WPF 컨텍스트 메뉴 데이터 바인딩
- 12. WPF Datagrid에 바인딩 문제가 발생했습니다.
- 13. Firefox에서 Hasfocus 바인딩 문제가 발생했습니다.
- 14. 바인딩 마우스 이벤트 문제가 발생했습니다.
- 15. Ember.js의 ApplicationController에 바인딩 문제가 발생했습니다.
- 16. ASP.NET에서 jqGrid 바인딩 문제가 발생했습니다.
- 17. 두 스레드 간의 컨텍스트 전환 문제가 발생했습니다.
- 18. 이진 데이터 문제가 발생했습니다.
- 19. 바인딩 후 양식 오류가 발생했습니다.
- 20. Silverlight 및 Caliburn Micro에서 TreeView 데이터 바인딩 문제가 발생했습니다.
- 21. 행 Gridview에서 Container.DataItem 값을 변경할 때 데이터 바인딩 문제가 발생했습니다.
- 22. RIA 도메인 서비스를 통해 xaml에서 데이터 바인딩 문제가 발생했습니다.
- 23. 검색 창을 지우고 Gridview 데이터 바인딩 문제가 발생했습니다.
- 24. 목록 상자에서 두 개의 열 데이터 바인딩 문제가 발생했습니다.
- 25. Databinding C#에서 데이터 바인딩 설정 및 유지 문제가 발생했습니다.
- 26. 거대한 목록을로드하는 동안 데이터 바인딩 성능 문제가 발생했습니다.
- 27. 데이터 새로 고침을 시도 할 때 knockout.js 바인딩 문제가 발생했습니다.
- 28. WPF에서 내 변화하는 데이터 컨텍스트 바인딩
- 29. 컨텍스트 메뉴 WP7의 데이터 바인딩 방법
- 30. JQuery 이벤트 변경 문제가 발생했습니다.
데이터 컨텍스트가 변경되면 바인딩이 전체 트리로 새로 고쳐 지지만 제 경우 확장 된 텍스트 상자의 템플릿에 일부 바인딩이 있습니다. 여기에 datacontext 컨트롤이 데이터 컨텍스트 이벤트를 트리거 한 후 약간의 지연으로 변경되므로 바인딩이 내 exteded 텍스트 상자 템플리트의 datacontext가 실제로 변경되기 전에 바인딩이 갱신되므로 바인딩이 여전히 이전 datacontext를 가리키고 있습니다 – florian2905