#c# #xamarin.forms #xamarin.android #messagingcenter
Вопрос:
Я пытаюсь отправить список BarData
объектов в свой FavoritesPage.xaml.cs
центр обмена сообщениями. Я пытался
MessagingCenter.Send<BarData>(_favoriteBarsList, "FaveBars");
и это выдает мне ошибку, сообщающую, что я не могу преобразовать отправителя из списка в объект. Затем я попытался использовать
MessagingCenter.Send<List<BarData>>(_favoriteBarsList, "FaveBars");
и visual studio кричит на меня, ЛОЛ! Я попытался поискать в Интернете, как отправить список объектов через MessagingCenter, но ничего не нашел. Может кто-нибудь, пожалуйста, помочь?
Ответ №1:
Центр обмена сообщениями.Способ отправки
Отправляет именованное сообщение с указанными аргументами
Параметры
- отправитель
TSender
- Экземпляр, отправляющий сообщение. Как правило, это указывается с помощью ключевого слова this, используемого в объекте отправки.
- Сообщение
String
- Сообщение, которое будет отправлено объектам, прослушивающим сообщение от экземпляров типа TSender.
- аргументы
TArgs
- Аргументы, которые будут переданы в обратный вызов слушателя.
Пример
MessagingCenter.Send<MainPage,List<BarData>>(
this, // the context you are on
"FaveBars", // the named message
_favoriteBarsList); // the argument
Где MainPage
тип this
, и List<BarData>
является типом аргумента
Комментарии:
1. Спасибо, что ответили на мой вопрос. Стал бы я по-прежнему помещать
MainPage
, даже если я не хочу, чтобы список объектов отправлялся на главную страницу?2. @MirandaHall не отправляет его на главную страницу, это страница или контекст, на котором вы находитесь, поэтому замените главную страницу на » где бы вы ни находились
3. Как бы вы настроили функцию подписки?