gpt4 book ai didi

c# - WPF DataGrid 的多线程?

转载 作者:行者123 更新时间:2023-12-03 13:22:18 29 4
gpt4 key购买 nike

我目前在我的程序中通过 DataGrid 的 ItemsSource 属性将 WPF DataGrid 绑定(bind)到 DataSet。使用我当前的设置,我遇到了导致 GUI 锁定的加载时间问题。是否可以对 DataGrid 的加载进行多线程处理,以便在加载行时填充行,而不是加载所有行,然后按当前状态填充 DataGrid?

我对多线程的概念很陌生,所以任何帮助都将不胜感激!

最佳答案

问题是访问您需要在 UI 线程上的 UI 控件,因此对于数据绑定(bind),很难简单地在单独的线程中完成工作,否则相对容易。事实上,这种情况需要一些技巧。

这里有一个很好的例子,它展示了如何使用数据虚拟化来实现这一点:

http://www.codeproject.com/KB/WPF/WpfDataVirtualization.aspx

This solution makes use of the fact that when an ItemsControl is bound to an IList implementation, rather than an IEnumerable implementation, it will not enumerate the entire list, and instead only accesses the items required for display. It uses the Count property to determine the size of the collection, presumably to set the scroll extents. It will then iterate through the onscreen items using the list indexer. Thus, it is possible to create an IList that can report to have a large number of items, and yet only actually retrieve the items when required.

关于c# - WPF DataGrid 的多线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3789086/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com