J'essaie de comprendre cela, étant donné le code suivant, le Refresh() doit-il se produire sur le thread de l'interface utilisateur? Cela semble fonctionner, et je me demande si CollectionViewSource est en fait un objet sensible au thread/sécurisé? Il a certainement des propriétés et des méthodes pour soutenir l'appel sur le bon thread, juste ne sais pas si c'est laissé au développeur, ou si cela est accompli dans l'objet?Silverlight's CollectionViewSource est-il compatible avec les threads?
public CollectionViewSource UserList { get; private set; }
void setupCollections()
{
UserList = new CollectionViewSource();
UserList.Source = searchProvider.UserResults;
UserList.SortDescriptions.Add(new SortDescription("DisplayName", ListSortDirection.Ascending));
}
Ce fil est-il sûr dans Silverlight ???
void RefreshUserList()
{
UserList.View.Refresh();
}
Ou avez-vous besoin de faire quelque chose comme ça?
void RefreshUserList()
{
// Is This Required?
UserList.Dispatcher.BeginInvoke(() =>
{
UserList.View.Refresh();
});
// Or MVVM-light Method
DispatcherHelper.CheckBeginInvokeOnUI(() =>
{
UserList.View.Refresh();
});
}