При связывании со свойством в Silverlight 3 и 4, версия Silverlight для Windows Phone 7 и в WPF 3.5 и 4 всегда будут направлять уведомления об изменении свойства в поток пользовательского интерфейса? Вам известен какой-либо сценарий, в котором я не могу полагаться на это и должен был бы выполнить сортировку в моем коде?
Я провел несколько экспериментов ...
INotifyPropertyChanged Если вы вносите изменение в свойство из фонового потока, и оно запускает INotifyPropertyChanged из этого фонового потока, а свойство привязывается к данным, то ...
DependencyProperty Что если свойство является свойством зависимости, а не INotifyPropertyChanged? Что если вы измените это свойство из фонового потока? Ну, я не проводил никаких экспериментов, но я читал, что он не выполняет никакой сортировки.
INotifyCollectionChanged (например, ObservableCollection) Если вы добавляете / удаляете элементы в ObservableCollection из фонового потока, а коллекция привязывается к списку или тому подобному, то что происходит?
Да, коллекции.Когда вы привязываете к наблюдаемой коллекции и изменяете ее из потока, не являющегося пользовательским интерфейсом, вы получаете исключение.Вам нужно будет перенести изменение коллекции в поток пользовательского интерфейса.