저는 ASP.NET 개발자이지만 최근에 WPF 응용 프로그램도 개발하고 있습니다. ASP.NET에서는 GridView에서 데이터를 새로 고침해야 할 때마다 DataBind()
으로 호출합니다. 하지만 WPF에서 그 대안은 무엇입니까? 해결 방법은 현재 데이터를 새로 고치기 위해 INotifyCollectionChanged
을 구현했습니다.WPF에서 ASP.NET DataBind()의 대안은 무엇입니까?
2
A
답변
4
해결 방법으로 INotifyCollectionChanged
을 구현하면 안됩니다. 이는 실제로 WPF에서 좋은 방법입니다.
(당신이 대신 System.ComponentModel.BindingList을 채울 수 있습니다. 자동으로 목록의 변화에 따라 업데이트됩니다이 목록에 바인딩 된 WPF 컨트롤을.)
을 그래서 왜 ASP.NET의 표준 관행을 바인딩 명시 적 데이터 반면, observer pattern은 WPF에서 사용됩니까? 이것은 두 환경의 특성이 서로 다른 것에서 비롯됩니다.
ASP.NET은 모두 웹 페이지를 만들고 채우는 것에 관한 것입니다. 웹 페이지가 점진적으로 업데이트되지 않습니다. 사용자가 포스트 백을 수행하면 완전히 새로운 웹 페이지가 다시 만들어집니다. 이 때문에 배치 방식을 사용하는 것이 효율적입니다. 모든 데이터를 조합 한 다음 "OK, 데이터 준비가 완료되었습니다. 이제 컨트롤을 채 웁니다"라고 말합니다.
리치 클라이언트 응용 프로그램에서 사용자 인터페이스 컨트롤은 한 번만 생성되지만 기본 데이터는 컨트롤의 수명 내에서 변경됩니다. 명시 적 데이터 바인딩을 사용한 경우 데이터가 변경 될 때마다 어떤 컨트롤을 업데이트해야하는지 결정한 다음 각 컨트롤에서 "DataBind"를 호출합니다. 그것은 유지 보수의 골치 거리입니다. 바인딩을 인식하는 유일한 구성 요소는 컨트롤 자체입니다. 데이터는 "내가 바뀌었다"고 발표 할 수 있으며 컨트롤은 자신의 재량으로 스스로 업데이트 할 수 있습니다.
관련 문제
- 1. jqGrid for ASP.NET 무료 대안은 무엇입니까?
- 2. fancybox의 대안은 무엇입니까?
- 3. Java2d보다 빠른 대안은 무엇입니까?
- 4. Java 인증의 대안은 무엇입니까?
- 5. 속성의 대안은 무엇입니까?
- 6. JMS의 대안은 무엇입니까?
- 7. GetShortPathName 함수의 대안은 무엇입니까?
- 8. rrdtool의 대안은 무엇입니까?
- 9. Pervasive DataRush 대안은 무엇입니까
- 10. SvcUtil.exe의 대안은 무엇입니까?
- 11. popen/pclose의 대안은 무엇입니까?
- 12. Boost.Program_options의 좋은 대안은 무엇입니까?
- 13. GeoWebCache의 대안은 무엇입니까?
- 14. GNU diff의 대안은 무엇입니까?
- 15. dotfuscator 제품군의 대안은 무엇입니까?
- 16. DataGridView의 대안은 무엇입니까?
- 17. GeoEXT의 대안은 무엇입니까?
- 18. gridview databind의 확장 메서드 매개 변수
- 19. ASP.NET 응용 프로그램 용 SQL Server의 좋은 대안은 무엇입니까?
- 20. JQuery Hilight 플러그인의 대안은 무엇입니까?
- 21. log4net 로깅의 다른 대안은 무엇입니까?
- 22. Prototip에 대한 무료 대안은 무엇입니까?
- 23. 풍부한 콘텐츠를위한 UIWebView의 대안은 무엇입니까?
- 24. 우정은 상속되지 않습니다 - 대안은 무엇입니까?
- 25. 트위스트가 필요없는 svn_buildbot.py의 대안은 무엇입니까?
- 26. 코드에서 android : entries의 대안은 무엇입니까?
- 27. Silverlight : Silverlight의 구성 대안은 무엇입니까?
- 28. jetty-maven-plugin의 대안은 무엇입니까?
- 29. axWindowsMediaPlayer 구성 요소의 대안은 무엇입니까?
- 30. 좋은 루비 디버그 대안은 무엇입니까?