WPF之UI虛擬化


在WPF應用程序開發過程中,大數據量的數據展現通常都要考慮性能問題。有下面一種常見的情況:原始數據源數據量很大,但是某一時刻數據容器中的可見元素個數是有限的,剩余大多數元素都處於不可見狀態,如果一次性將所有的數據元素都渲染出來則會非常的消耗性能。因而可以考慮只渲染當前可視區域內的元素,當可視區域內的元素需要發生改變時,再渲染即將展現的元素,最后將不再需要展現的元素清除掉,這樣可以大大提高性能。

對於ListBox,在XAML Template中加入以下屬性

    ScrollViewer.CanContentScroll = "True"  // 設置內容邏輯滾動
    VirtualizingStackPanel.IsVirtualizing = "True"  // 開啟虛擬化
    VirtualizingStackPanel.VirtualizationMode = "Standard"

https://msdn.microsoft.com/zh-cn/library/system.windows.controls.virtualizingpanel.aspx
WPF之路——實現自定義虛擬容器(實現VirtualizingPanel)
WPF 虛擬化 VirtualizingWrapPanel 和 VirtualLizingTilePanel


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM