2013-07-30 2 views
0

Я привязал асинхронную команду к кнопке представления. Что мне нужно сделать, это проверить некоторые текстовые поля окна, когда пользователь нажимает кнопку. Если проверка не удалась, пользователю должно появиться окно с сообщением об ошибке.Catel: Использование службы IMessageService в асинхронной команде

Как я могу это сделать с помощью службы IMessageService?

Используя этот код:

  var messageService = GetService<IMessageService>(); 
      messageService.ShowError("Bitte wählen Sie einen Plan aus!"); 

я получаю IvalidOperationException: InvalidOperationException вызывающий поток не может получить доступ к этому объекту, потому что другой поток владеет.

Как я могу избежать этой проблемы?

Заранее за вашу помощь.

ответ

0

Вам необходимо отправить с помощью IDispatcherService. Возможно, было бы интересно всегда отправлять сообщения в MessageService.

Если вас интересует такая функция, добавьте запрос функции here.

+0

Спасибо за ваш быстрый ответ Geert, я добавлю запрос функции как можно скорее, когда вернусь в офис. –