关于WPF的ComboBox中Items太多而导致加载过慢的问题
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                关于WPF的ComboBox中Items太多而导致加载过慢的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            ???????????????????????????????????? 【WFP疑難】關于WPF的ComboBox中Items太多而導致加載過慢的問題
????????????????????????????????????????????????? 周銀輝
我的一個同事在加載字體列表時遇到了一個讓人崩潰的問題:由于系統字體可能較多(可能有好幾百項),導致使用ComboBox顯示字體列表異常緩慢,需要讓人抓狂的3~5秒,這是由于ComboBox在展開列表時繪制了列表中的每一項,為了避免這個問題,我們可以使用VirtualizingStackPanel來代替ComboBox默認的項目面板StackPanel:?
 
??????? <ComboBox x:Name="comboboxFontList"
????????????????? VerticalAlignment="Top">
????????????? <ComboBox.ItemsPanel>
??????????????? <ItemsPanelTemplate>
??????????????????? <VirtualizingStackPanel />
??????????????? </ItemsPanelTemplate>
??????????? </ComboBox.ItemsPanel>
??????? </ComboBox> ? 然后速度就很快了哈,與僅僅加載少量項目速度一樣快,因為其只繪制了當前被顯示的項。 關于VirtualizingStackPanel可以參考這里:?? http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.aspx
                        
                        
                        ????????????????????????????????????????????????? 周銀輝
我的一個同事在加載字體列表時遇到了一個讓人崩潰的問題:由于系統字體可能較多(可能有好幾百項),導致使用ComboBox顯示字體列表異常緩慢,需要讓人抓狂的3~5秒,這是由于ComboBox在展開列表時繪制了列表中的每一項,為了避免這個問題,我們可以使用VirtualizingStackPanel來代替ComboBox默認的項目面板StackPanel:?
??????? <ComboBox x:Name="comboboxFontList"
????????????????? VerticalAlignment="Top">
????????????? <ComboBox.ItemsPanel>
??????????????? <ItemsPanelTemplate>
??????????????????? <VirtualizingStackPanel />
??????????????? </ItemsPanelTemplate>
??????????? </ComboBox.ItemsPanel>
??????? </ComboBox> ? 然后速度就很快了哈,與僅僅加載少量項目速度一樣快,因為其只繪制了當前被顯示的項。 關于VirtualizingStackPanel可以參考這里:?? http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.aspx
轉載于:https://www.cnblogs.com/zhouyinhui/archive/2008/05/21/1203794.html
總結
以上是生活随笔為你收集整理的关于WPF的ComboBox中Items太多而导致加载过慢的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 简单实现ConfigurationMan
 - 下一篇: Linux环境下的网络编程