我是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是關於創建和填充網頁的。網頁不會自行更新;當用戶執行回發時,整個新網頁被重新創建。因此,採用批處理方法是有效的:彙總所有數據,然後說「確定,數據已準備好,現在填入控件」。
在富客戶端應用程序中,用戶界面控件只創建一次,但底層數據在控件的生命週期內發生更改。如果你使用顯式數據綁定,每次數據更改時,你都會確定哪些控件需要更新,然後在每個控件上調用「DataBind」。這是一個維修頭痛。最好是知道綁定的唯一組件是控件本身。數據只能宣佈「我已更改」,並且控件可以自行更新。
相關問題
- 1. Response.Redirect()asp.net的替代方法是什麼?
- 2. Python中的替代方法是什麼?
- 3. C#中的替代方法是什麼#
- 4. 什麼是Asp.Net Core 1.0 RTM中CreateIdentityAsync方法的替代?
- 5. java.util.calendar的替代方法是什麼?
- 6. session_register($ var)的替代方法是什麼?
- 7. typeFactory.arrayType(xxx)的替代方法是什麼?
- 8. 什麼是ASP.NET MVC中Controller.ReadFromRequest的替代?
- 9. android的替代方法是什麼:代碼中的條目是什麼?
- 10. J2ME中String.Contains()方法的替代方法是什麼?
- 11. Internet Explorer中formdata.get()方法的替代方法是什麼?
- 12. 什麼是替代SSRS訂閱的替代方法?
- 13. 什麼是WPF應用程序的Crystal Report的替代方案
- 14. 棄用com.apple.eawt.ApplicationListener的替代方法有什麼替代方法
- 15. 使用什麼來代替ASP.NET 5中的WebViewPage.RenderPage方法MVC6
- 16. 什麼是替代方法`__call`
- 17. wpf中的OnPaintBackground的替代方法。
- 18. UIViewAnimationOptions.fromMask()發生了什麼?新的替代方法是什麼?
- 19. GXT3中的GXT2的onAfterLayout()的替代方法是什麼?
- 20. 爲什麼需要DataBind()方法?
- 21. Android中的AbsoluteLayout的替代方法是什麼?
- 22. Python中的'in'命令的替代方法是什麼?
- 23. YUI 3中的jQuery(this)的替代方法是什麼?
- 24. 在xhtml的html中佔位符的替代方法是什麼?
- 25. 什麼是C#中的多繼承的替代方法?
- 26. RxJava中的AndroidSchedulers.mainThread()的替代方法是什麼?
- 27. Tensorflow版本0.12中的tf.Variable.ref()的替代方法是什麼?
- 28. Java的HttpMethod中的回收方法有什麼替代方法?
- 29. 什麼是。jioster的.net替代方案
- 30. 什麼是MVC的替代方案?