我是WPF应用程序的新手。我已经构建了一个连接到在线数据库的应用程序,这意味着我在托管服务器(SQL Server)上托管我的数据库,并且我的WPF应用程序在本地运行。
当我打开我的应用程序时,我有超过1000个项目记录,这些记录将加载到组合框中。问题是它花费超过5分钟来加载这些记录。有没有人知道其他方法让它更快?
答案 0 :(得分:6)
ComboBox
默认情况下未启用UI Virtualization。
原因是ComboBox
并非真正意图显示大量项目。
要启用它,请更改ItemsPanel
:
<ComboBox ...>
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
但请注意,在ComboBox
中显示超过20个项目会导致真正痛苦的用户体验。
您应该考虑更改为更适合显示大型商品列表的ListBox
或其他类型的UI元素。