我 的一个同事在加载字体列表时遇到了一个让人崩溃的问题:由于系统字体可能较多(可能有好几百项),导致使用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

 

原文: http://www.cnblogs.com/zhouyinhui/archive/2008/05/21/1203794.html

相关文章:

  • 2021-09-25
  • 2021-09-27
  • 2022-12-23
  • 2022-12-23
  • 2021-10-09
  • 2021-07-05
  • 2021-12-15
猜你喜欢
  • 2021-11-23
  • 2022-12-23
  • 2021-09-24
  • 2022-12-23
  • 2022-12-23
  • 2021-10-14
  • 2021-09-25
相关资源
相似解决方案