iv'e a une application MVVM,WPF NotSupportedException
dans un viewmodel:
public CommandViewModel()
{
Messenger.Default.Register<CustomerSavedMessage>(this, message =>
{
Customers.Add(message.UpdatedCustomer);
});
}
private ObservableCollection<Customer> _customers;
public ObservableCollection<Customer> Customers
{
get { return _customers; }
set
{
_customers = value;
OnPropertyChanged("Customers");
}
}
clients est lié à un combobox à mon avis.
dans un autre viewmodel je lève un CustomerSavedMessage sur un thread différent lorsque je tente de gérer le message dans le délégué du gestionnaire de registre ci-dessus NotSupportedException est jeté avec le message suivant:
{"This type of CollectionView does not support changes to its SourceCollection from a thread different from the Dispatcher thread."}
i évidemment besoin pour utiliser l'objet Dispatcher pour l'opération de thread croisé, mais je ne peux pas comprendre comment cela est fait à partir du viewmodel.
aussi je pensais que le cadre sache comment gérer le filetage entre sur la liaison ..
comment puis-je exécuter le Customers.Add (message.UpdatedCustomer) sur le fil Dispatcher?