我有一个 IEnumerable<> 可以延迟加载它的数据。我只想将 Combobox 的 ItemsSource 设置为 IEnumerable,但是当我这样做时,无论如何都会加载所有数据(这消除了延迟加载的要点)。
我也用 Linq-To-Sql 试过了,因为它似乎是一个类似的理论,而且它还加载了所有数据。
有没有简单的方法来做到这一点?
最佳答案
尝试将 ComboBox 的 ItemsSource-Binding 中的 IsAsync-Property 设置为 True:
<ComboBox ItemsSource={Binding YourItemsSourceProperty, IsAsync=True}
SelectedItem={Binding YourSelectionProperty} />
如果这没有改变任何东西,请看一下这个: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/3d343489-90c4-4bdc-8bd9-1046ec9daf76 也许您需要改用 IList。
或者,您可以使用 PriorityBinding,用一些临时数据填充列表,直到最终列表完全加载。
关于c# - 延迟加载 wpf 组合框项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2901371/