问问题
8137 次
2 回答
4
您正在一个线程中创建CollectionViewSource
并在另一个线程(调度程序线程)中刷新它。更新你GetFriendsListCompleted
的
private void GetFriendsListCompleted(object sender, ResultsArgs<Friend> e)
{
if (!e.HasError)
{
var curr = e.Results;
if (curr != null)
{
Dispatcher.Invoke(DispatcherPriority.Normal, new Action(
() => {
this.FriendsList= new CollectionViewSource();
this.FriendsList.Source = list;
this.FriendsList.Filter += this.FriendFilter;
FilterText = "";
this.FriendsList.View.Refresh();
}));
}
}
}
于 2013-06-12T16:01:46.097 回答
0
您没有显示完成时在后台线程上实际运行的任何代码,但我猜测您正在创建一个集合对象,然后您尝试将其分配给您的 CollectionView。当 CV 尝试从您的 Refresh 调用更新(在 UI 线程上)时,它将尝试使用其他线程拥有的集合。
如果您包含相关代码,那么肯定会更容易说。
于 2013-06-12T14:04:21.123 回答