У меня есть 2 объекта NotificationObject, которые действуют как модели просмотра. Первый NotificationObject содержит свойства, привязанные к представлению определенного элемента управления, а второй NotificationObject имеет некоторый код, который выполняется в другом потоке с использованием объекта Thread. Мне нужно изменить свойства первого NotificationObject из текущего кода второго NotificationObject. Когда я пытаюсь это сделать, я получаю исключение. «Вызывающий поток не может получить доступ к этому объекту, потому что ему принадлежит другой поток».a dispatcher для NotificationObject
Я думаю, что мне нужно использовать какой-то диспетчер для доступа к этим свойствам, как в Windows Forms или в классическом WPF, но я не могу найти, как это сделать в Prism MVVM. Итак, как мне изменить свойства первого NotificationObject?
Спасибо за ваши усилия, Рейчел, но я уже пробовал этот подход. Dispatcher.CurrentDispatcher.Invoke не работает. Я написал это как комментарий к ответу Баса B. –
@ Bogdan0x400 Извините, синтаксис для этого неверен. 'Dispatcher.CurrentDispatcher' возвращает диспетчер для текущего потока, поэтому, если вы вызываете его из фонового потока, он возвращает диспетчера для фонового потока. Вам нужно вызвать его из UI thead, чтобы получить диспетчер для потока пользовательского интерфейса, или использовать что-то вроде 'Application.Current.Dispatcher'. 'App.Current.Dispatcher' - это синтаксис, который обычно наблюдается, поскольку приложение запуска проекта WPF по умолчанию называется' App'. Если ваш '' называется чем-то другим, вам придется использовать это вместо –
Rachel