【发布时间】:2019-07-23 03:42:54
【问题描述】:
我有这个组合框,它绑定到包含大约 5k 个条目的客户列表
<ComboBox ItemsSource="{Binding Customers}" Margin="0 0 0 18"
DisplayMemberPath="DisplayMember"
SelectedValuePath="Id"
SelectedValue="{Binding CustomerId,Mode=OneWay}"
>
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
我更改为虚拟化,这有助于更快地获取列表,但是当我添加 SelectedValue 以绑定到我的视图模型时,它的加载速度非常慢。
有什么办法可以解决这个问题吗?
问候
【问题讨论】:
-
您应该使用允许用户搜索或过滤这 5000 到更合理的数字的设计。不要使用组合框作为搜索方法,也不要让用户滚动超过 2 页的数据。
-
是的,你是对的。我切换到 AutoCompleteText,它做得很好,感谢您的评论
标签: c# wpf mvvm large-data