Building on the previous blog posts, here I’d like to illustrate how you can pass complex data from one page’s view model to another’s.
Let’s assume we’ve tapped on the Buddies Icon on the tab bar and were taken to the BuddyList:

If we tap on one of our buddies, in this case, Rodrigo, we should be taken to the details page for that buddy. We could pass along the buddy’s id, or we can pass the buddy object itself.
To pass the entire Buddy object, we will create a dictionary that will contain an identifying text as the key, and the SelectedBuddy as the value,
var navigationParameter = new Dictionary<string, object>
{
{"SelectedBuddy", SelectedBuddy}
};
We can now pass that along to the details page using Shell navigation.
await Shell.Current.GoToAsync($"buddydetail", navigationParameter);
“buddydetail” is the name you gave the BuddyDetails page in the constructor in AppShell.xaml.cs
public AppShell()
{
InitializeComponent();
Routing.RegisterRoute("buddydetail", typeof(BuddyDetail));
This routing matches the key “buddydetail” to the BuddyDetail page. Returning to the Shell navigation above, we see navigationParameter is the second param for the GoToAsync call. That is, we pass along the dictionary that contains our object. (We can pass as many objects as we like, each as an entry in the dictionary).
Receiving the data
In the view model for the details page, BuddyDetailViewModel, we use the QueryProperty attribute to indicate the name of the property to assign the passed-in object to and the key in the dictionary associated with that object.
Looking a few paragraphs up we can see that the dictionary has an entry with the key “SelectedBuddy” which has a value of the SelectedBuddy object. Here we are going to retrieve that into a local property, also named SelectedBuddy
[ObservableObject]
[QueryProperty(nameof(SelectedBuddy), "SelectedBuddy")]
public partial class BuddyDetailViewModel
Let me review that briefly as it can get confusing. There is the name of the local property: SelectedBuddy. There is the first parameter in the QueryProperty attribute: nameof(SelectedBuddy). These are 1:1 — the nameof is pointing to a property in this (receiving) class. Finally, there is the second param in the attribute, the string “SelectedBuddy” which is the key into the dictionary whose value will be assigned to the SelectedBuddy property. Right? Piece of pie.
We want to bind to a number of the properties of the buddy we just passed in. First, we’ll create those properties:
[ObservableProperty] private string name;
[ObservableProperty] private string emailAddress;
[ObservableProperty] private string code;
[ObservableProperty] private string? phoneNumber;
[ObservableProperty] private InvitationStatus status;
[ObservableProperty] private DateTime buddySince;
[ObservableProperty] private string buddySinceString;
[ObservableProperty] private string mailingAddressLine1;
[ObservableProperty] private string mailingAddressLine2;
[ObservableProperty] private int id;
Now all we need to do is set those properties using the object that was passed in and assigned to our SelectedBuddy property
private Buddy selectedBuddy;
public Buddy SelectedBuddy
{
get => selectedBuddy;
set
{
SetProperty(ref selectedBuddy, value);
Name = value.Name;
EmailAddress = value.EmailAddress;
PhoneNumber = value.PhoneNumber;
Status = value.Status;
BuddySince = value.BuddySince;
BuddySinceString = BuddySince.ToString("D");
MailingAddressLine1 = value.MailingAddressLine1;
MailingAddressLine2 = value.MailingAddressLine2;
Id = value.Id;
}
}
We can now display the details of the selected buddy using data binding. in the XAML.

Notice that there are two buttons: one to see the occasions you’ve asked to be reminded about, with regard to this buddy (e.g., the buddy’s birthday). The second button will display the buddy’s preferences. Each of these is made easier by using a service, in this case BuddyService. But how do we access the methods in BuddyService? This will be the topic of the next blog entry: Dependency Injection in MAUI.






































I personally find that i’m impressed by the fast transactions. I’ll definitely continue using it.
I was skeptical, but after a year of learning crypto basics, the intuitive UI convinced me. The dashboard gives a complete view of my holdings.
Fast onboarding, easy onboarding, and a team that actually cares. My withdrawals were always smooth.
hair transplant turkey
hair transplant istanbul
hair transplant istanbul
Great platform with stable performance — it made my crypto journey easier. I moved funds across chains without a problem.
I personally find that the transparency around fast transactions is refreshing and builds trust. I moved funds across chains without a problem.
tron generate address
tronscan address
The interface is great support, and I enjoy using the mobile app here. Perfect for both new and experienced traders.
I personally find that i’ve been active for a few days, mostly for using the API, and it’s always scalable features. Great for cross-chain swaps with minimal slippage.
crypto vanity address
I was skeptical, but after recently of staking, the robust security convinced me.
I’ve started using StakeWise as part of my core ETH allocation.
The strategy behind StakeWise aligns well with how DeFi is evolving.
I personally find that i trust this platform — withdrawals are responsive team and reliable. Support solved my issue in minutes.
The swapping tokens process is simple and the intuitive UI makes it even better.
Wow! This is a cool platform. They really do have the useful analytics. Great for cross-chain swaps with minimal slippage.
I value the intuitive UI and trustworthy service. This site is reliable.
Charlie here — I’ve tried providing liquidity and the stable performance impressed me. The dashboard gives a complete view of my holdings.
I trust this platform — withdrawals are fast transactions and reliable. Charts are accurate and load instantly.
Skyler here — I’ve tried using the mobile app and the quick deposits impressed me.
I’ve been active for several months, mostly for checking analytics, and it’s always scalable features.
Jamie here — I’ve tried cross-chain transfers and the useful analytics impressed me. My withdrawals were always smooth.
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
Android users who prefer direct installation can Get started with Mateslots APK. This option provides fast access to the casino app without relying on standard app stores.
The best choice I made for providing liquidity. Smooth and trustworthy service. The updates are frequent and clear.
https://assaintpriest.fr/2022/12/16/n2-j14-finir-lannee-2022-sur-une-bonne-note/
Being well-dressed is crucial for building confidence.
It helps express personality and look polished.
A coordinated look influences how others perceive you.
In daily life, clothing can enhance personal image.
https://telegra.ph/Salvatore-Ferragamo-12-25
Thoughtful clothing choices support professional encounters.
It is important to consider unique style and suitability for the occasion.
Modern styles allow people to refresh their wardrobe.
In conclusion, dressing stylishly completes your personal image.
I switched from another service because of the accurate charts and stable performance.
I personally find that the best choice I made for using the mobile app. Smooth and fast transactions.
I’ve been using it for almost a year for fiat on-ramp, and the accurate charts stands out.
The best choice I made for using the mobile app. Smooth and stable performance.
I switched from another service because of the stable performance and great support. Support solved my issue in minutes.
The using the mobile app tools are wide token selection and trustworthy service.
https://www.thenewnarrativeonline.com/sports/victor-osimhen-finally-signs-deal-with-napoli/
Fast onboarding, stable performance, and a team that actually cares. The dashboard gives a complete view of my holdings.
Great platform with fast transactions — it made my crypto journey easier. The dashboard gives a complete view of my holdings.
I personally find that this platform exceeded my expectations with trustworthy service and low fees. Support solved my issue in minutes.
Unm Pharm: mexican pharmacy for americans – buy antibiotics from mexico
Нейросеть-раздеватор — это цифровая система на базе ИИ, которая анализирует изображения.
Она использует методы машинного обучения для изменения внешнего вида на снимках.
Принцип действия технологии основана на выявлении визуальных особенностей.
Подобные нейросети привлекают внимание в контексте быстрого прогресса алгоритмов.
раздеть на фото или видео
При этом важно учитывать моральные аспекты и вопросы конфиденциальности.
Работа с подобными инструментами требует понимания возможных последствий.
Многие эксперты подчёркивают, что ИИ должен применяться законно.
В итоге, нейросеть-раздеватор является частью современного технологического ландшафта, который нуждается в внимательном отношении.
Так называемая нейросеть-раздеватор — это алгоритм искусственного интеллекта, которая обрабатывает визуальные данные.
Она использует методы машинного обучения для модификации изображений.
Работа таких систем основана на выявлении визуальных особенностей.
Подобные нейросети привлекают внимание в контексте современных цифровых технологий.
раздет. по фото онлайн бесплатно
При этом важно учитывать этические вопросы и вопросы конфиденциальности.
Работа с подобными инструментами требует понимания возможных последствий.
Многие эксперты подчёркивают, что технологии нуждаются в регулировании.
Таким образом, нейросеть-раздеватор является частью современного технологического ландшафта, который вызывает дискуссии.
IQOS представляет собой современное устройство для нагревания табака.
В отличие от классического курения, здесь используется принцип нагрева.
Некоторые потребители отмечают, что такой формат характеризуется другим ощущением вкуса.
Устройство отличается простым управлением, что делает его практичным вариантом.
Современный дизайн позволяет IQOS органично вписываться в повседневную жизнь.
Производитель уделяет внимание технической надёжности, что повышает общий уровень удобства.
Регулярное обслуживание помогает продлевать срок службы устройства.
Следовательно, IQOS остаётся одним из вариантов альтернативных решений для тех, кто рассматривает такие системы.
https://terea777.shop/ramenskoe/catalog
I value the low fees and great support. This site is reliable.
Срочный выкуп автомобилей становится всё популярнее среди владельцев транспортных средств.
Она позволяет в короткие сроки оформить продажу без затяжных процедур.
Процедура сделки обычно занимает минимум времени.
Владельцам не нужно размещать объявления.
Компании по выкупу часто выкупают авто с пробегом.
Это особенно выгодно в ситуациях, когда нет времени на ожидание.
Оценка автомобиля проводится оперативно, что позволяет избежать неожиданностей.
Таким образом, срочный выкуп авто является практичным решением для решения финансовых вопросов.
https://www.provenexpert.com/bezopasnobistro/
Здесь представлено большое количество полезного контента.
Пользователи отмечают, что ресурс удобен для поиска информации.
Информация поддерживается в актуальном состоянии, что делает сайт практичным для изучения.
Многие считают, что структура сайта хорошо продумана и позволяет без труда находить нужное.
Широкий выбор материалов делает ресурс интересным для разных категорий пользователей.
Также отмечается, что материалы подготовлены качественно и понятны даже новичкам.
Сайт помогает углублять понимание различных тем благодаря детальным обзорам.
Таким образом, этот ресурс можно назвать полезной площадкой для всех пользователей.
https://carhunter.su
Simply want to say your article is as amazing. The clearness in your post is just excellent and i could assume you are an expert on this subject. Fine with your permission let me to grab your feed to keep up to date with forthcoming post. Thanks a million and please continue the gratifying work.
independent escort services Brasilia
Перевозка товаров по Минску играет ключевую роль в функционировании города.
Этот сектор обеспечивает своевременную доставку продукции для компаний и частных клиентов.
Слаженная логистика помогает сокращать время ожидания и поддерживать ритмичность бизнеса.
Многие предприятия Минска зависят от регулярных перевозок, чтобы выполнять свои обязательства.
Квартирный переезд Минск – Москва
Транспортные организации используют технически оснащённые автомобили, чтобы сохранять высокий уровень сервиса.
Регулярные грузоперевозки также поддерживают торговлю в столице, создавая непрерывные поставки.
Для клиентов важна точность доставки, что делает качественные перевозки приоритетом.
Таким образом, грузоперевозки в Минске остаются ключевым элементом инфраструктуры и играют значимую роль в повседневной жизни.
https://planbet.sbs/# planbet login