Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 14.04.2016, 17:33   #1
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
Репутация: 10
По умолчанию MessengerInstance.Register не работает в DataService [MVVMLight]

Здравствуйте. Стоит задача передать строковой параметр при получение данных в DataService, но студия в классе DataService подчеркивает следующую ошибку
Код:

The name 'MessengerInstance' does not exist in the current context

Отправляют Message так

Код:

        public MainViewModel(IDataService dataService)
        {
           MessengerInstance.Send<NotificationMessage>(new                      NotificationMessage("notification message"));

Регистрирую Message так
Код:

        public void GetData(Action<List<PostItem>, Exception> callback)
        {
            MessengerInstance.Register<NotificationMessage>(this, NotifyMe);

Пробовал так

Код:

GalaSoft.MvvmLight.Messaging.Messenger.Default.Register<string>(this, (a) => { MessageBox.Show(a); });
 
GalaSoft.MvvmLight.Messaging.Messenger.Default.Send<string>("abc");

Но сообщение не передается почему то.

Как еще можно сделать передачу параметра в DataService?

Спасибо!
Notan1310 вне форума   Ответить с цитированием
Старый 14.04.2016, 17:53   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,006
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

Так если почитать документацию или исходники MvvmLight, то видно, что MessengerInstance это свойство ViewModelBase.

А с Messenger.Default должно работать по идее.
Alex11223 на форуме   Ответить с цитированием
Старый 14.04.2016, 18:04   #3
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А с Messenger.Default должно работать по идее.
Код:

   public MainViewModel(IDataService dataService)
   {
      GalaSoft.MvvmLight.Messaging.Messenger.Default.Send<string>("abc");

Принимаю так

Код:

    public class DataService : IDataService
    {        
        public void GetData(Action<List<PostItem>, Exception> callback)
        {
            GalaSoft.MvvmLight.Messaging.Messenger.Default.Register<string>(this, (a) => { MessageBox.Show(a); });

Что я делаю не так? Мне бы параметр получить текстовый.
Notan1310 вне форума   Ответить с цитированием
Старый 14.04.2016, 18:17   #4
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,006
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

А почему просто не вызвать метод DataService из ViewModel?
Alex11223 на форуме   Ответить с цитированием
Старый 14.04.2016, 18:27   #5
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
Репутация: 10
По умолчанию

Я думал так передавать параметр в DataService перед вызовом GetData например. Наверно такой поход не верный. Наверно лучше после всех полученных данных фильтровать через linq object по категорий.
Notan1310 вне форума   Ответить с цитированием
Старый 14.04.2016, 18:48   #6
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
Репутация: 10
По умолчанию

Спасибо! Немного с другой стороны подошел. Если вам не ясно и студия не видит параметры, то точно по другому нужно делать. По очевидному.
Notan1310 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с как сделать http_POST_VARS и отключить register globals? blekiw PHP 2 23.11.2015 10:53
Помогите удалить окно "Register" в Microsoft Office Radziwill Microsoft Office Word 4 26.09.2014 09:58
процедура Register Nina+ Компоненты Delphi 5 18.04.2012 08:09
Адрес register переменной Lasur Visual C++ 3 09.03.2012 03:04
REGISTER HAAAPSII Фриланс 0 25.11.2010 22:48


08:46.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru