我想创建一个列表框,按自定义行数加载数据。更像是市场拥有的列表框。有什么想法吗?
编辑:我的意思是该列表框的工作方式。它一次按 x 行加载市场数据。我希望它以x的数量加载数据行,这样应用程序就不必一次加载所有数据。
此库中的ExtendedListBox
控件:http://mytoolkit.codeplex.com
public MyPage()
{
list.ScrolledToEnd += OnScrolledToEnd;
}
public void OnScrolledToEnd(object sender, ScrolledToEndEventArgs args)
{
list.TriggerScrolledToEndEvents = false;
// TODO load more data async. => call OnDataLoaded on loaded
}
public void OnDataLoaded()
{
// TODO add new items to list
list.TriggerScrolledToEndEvents = true;
}
如果您在使用此类时遇到问题,请在此处通知我。
详细信息: http://mytoolkit.codeplex.com/wikipage?title=ExtendedListBox
有一个带有环绕面板而不是堆栈面板的列表框 或者在列表框中添加网格,并使图像添加到自定义行和列的网格中
添加一个环绕面板,它将图像排列成行,然后像这样添加 backround worker 类。它将逐行添加 im 年龄。
var worker = new BackgroundWorker();
worker.DoWork += delegate(object sender, DoWorkEventArgs args)
{
// Loop through all the items
for (int i = 0; i < items.Count - 1; i++)
{
// Create a slight delay and add each item to the Items collection
Thread.Sleep(200);
Deployment.Current.Dispatcher.BeginInvoke(
() =>
{
Items.Add(items[i]);
});
}
};
worker.RunWorkerCompleted += delegate(object sender, RunWorkerCompletedEventArgs args)
{
};
worker.RunWorkerAsync();
}
如果您有 4 张图片,则在一行列表中。 尝试在后台工人类中拥有喜欢。
Deployment.Current.Dispatcher.BeginInvoke( () =>
{
Add first 4 items in list box then start the loop at index 5
});
看看VirtualizingStackPanel
是否符合您的要求?
类似问题
MSDN