我试图找到一种方法,将多个(具有大量数据的100+)控件添加到WPF中,而无需本身阻塞GUI线程。这就是我当前创建控件的方式:
我在并行线程中创建异步控件,并且能够将它们添加到GUI中,但是当涉及到container.Children.Add()时,GUI就被阻塞了。
我的第一次尝试是通过异步方法中的一个任务创建它们。
var a = Task.Factory.StartNew(() =>
{
foreach (UserElement element in userElements)
this.Dispatcher.Invoke(() => { UserEl
我有这样的情况-我想建立时间控制。所以我有UserControl和ItemsControl (每行代表某个人)。ItemsControl包含另一个ItemsControl作为ItemsControl.ItemTemplate,它显示按事件日期安排的人的事件。
因此,它看起来像是某种网格,将日期作为列标题,例如人作为行标题。........................|.2010.01.01.....2010.01.02.....2010.01.03
Adam Smith....|......some event#1.....some event#2.
John .......|...som
我知道,当您从API获取数据时,使用无限滚动可能很有用。但是,假设您从API中获取数据并存储在父组件内的redux中,并将项作为道具传递给子组件,如下所示:
//This is parent component. Assume items are fetched from API
<Items lots={items}/>
儿童部分:
const Items = ({lots}:{lots:any[]})={
//I want to use infinite scroll for items.
}
我的问题是:像这样使用无限滚动有什么好处吗?这能让网站更快吗?它是否使网站用户友好?