WP7 Toolkit PerformanceProgresBar和UI线程(丢点效果)
本文关键字:线程 Toolkit PerformanceProgresBar UI WP7 | 更新日期: 2023-09-27 18:00:35
我很难从WP Toolkit管理ProgressBar。在我的项目中,我有一个用数据绑定项填充的列表框。总体过程如下:
- 显示进度条(可见性更改为可见,IsIndeterminate更改为true)
- 提出休息请求
- 得到响应
- 解析项目的集合
- 将存储器中的项目绑定到列表
- 隐藏进度条(可见性为折叠,IsIndeterminate为false)
我现在的问题是:Indeterminate标志似乎变化太快(我认为是不同的线程?)。这导致进度条有时只显示一个矩形。如何确保只有在数据绑定和列表框刷新完成后进度条才会消失?
这是我的回复回调:
private void DataLoaded(object o, RestResponseEventArgs e)
{
int i = 0;
List<Entry> entries = new List<Entry>();
foreach (JObject current in e.JsonObject["entries"].Children())
{
Entry e = Entry.Parse(current);
entries.Add(e);
}
this.MyListBox.ItemsSource = entries;
this.ProgressBar.Visibility = Visibility.Collapsed;
this.ProgressBar.IsIndeterminate = false;
}
使用Dispatcher。BeginInvoke()方法:
private void DataLoaded(object o, RestResponseEventArgs e)
{
Dispatcher.BeginInvoke(() =>
{
int i = 0;
List<Entry> entries = new List<Entry>();
foreach (JObject current in e.JsonObject["entries"].Children())
{
Entry e = Entry.Parse(current);
entries.Add(e);
}
this.MyListBox.ItemsSource = entries;
this.ProgressBar.Visibility = Visibility.Collapsed;
this.ProgressBar.IsIndeterminate = false;
});
}