1. 程式人生 > >WPF之UI虛擬化

WPF之UI虛擬化

scroll http detail 內容 soft zh-cn panel mic nts

原文: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

WPF之UI虛擬化