Как сделать объект привязанным к потоку управления WPF безопасным - PullRequest
0 голосов
/ 03 октября 2011

У меня есть объект коллекции Observable, значение которого я обновляю из своего кода.Эта коллекция связана двумя способами с сеткой данных.Является ли этот поток коллекции безопасным - то есть, если я попытаюсь изменить значение коллекции из кода, и в то же время пользователь попытается изменить его (в результате редактирования сетки данных), программа выдастисключение?Если да, не могли бы вы объяснить, как этого избежать?

Спасибо ...

1 Ответ

1 голос
/ 03 октября 2011

Это выглядит как дубликат здесь и здесь , но краткий ответ заключается в том, что вы в безопасности, если вы изменяете свойство.

Когда выПри работе с коллекцией вам нужно сделать немного больше, если вы пытаетесь изменить ObservableCollection в нескольких потоках, а не только в потоке пользовательского интерфейса.Это было рассмотрено много, и вы можете проверить по этой ссылке или этой

Однако, если вы делаете свои изменения в потоке пользовательского интерфейса,вы в безопасности, поскольку именно для этого и предназначена ObservableCollection.События будут создаваться и обрабатываться в пользовательском интерфейсе до тех пор, пока вы правильно маршалируете через Dispatcher.BeginInvoke().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...