Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2016, 16:33   #1
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
По умолчанию 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, 16:53   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

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

А с Messenger.Default должно работать по идее.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.04.2016, 17:04   #3
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
По умолчанию

Цитата:
Сообщение от 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, 17:17   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А почему просто не вызвать метод DataService из ViewModel?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.04.2016, 17:27   #5
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
По умолчанию

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с как сделать http_POST_VARS и отключить register globals? blekiw PHP 2 23.11.2015 09: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 21:48