Всем привет! В этом посте я покажу вам, как использовать навигацию между экранами и как передавать параметры на этих экранах в Xamarin и Prism.

TL;DR

Здесь я покажу вам, как установить и использовать Prism MVVM Framework в приложениях Xamarin.Forms и как использовать de NavigationService of Prism для перехода между экранами; Исходный код здесь:



manacespereira / xamarin-prism-navigation
Участвуйте в разработке manacespereira / xamarin-prism-navigation, создав учетную запись на GitHub. github.com



Призма - что это?

Как мы видим в официальной документации Prism, это фреймворк для облегчения создания приложений XAML с использованием программного архитектурного шаблона MVVM (Model View ViewModel).

Prism - это платформа для создания слабосвязанных, поддерживаемых и тестируемых приложений XAML в WPF, Windows 10 UWP и Xamarin Forms.
Ссылка: Prism docs

Руки вверх

Создание приложения

Перед тем, как создавать наше приложение, нам нужно установить шаблоны Prism, чтобы облегчить настройку фреймворка Prism.

Установка шаблонов Prism

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

Создание проекта

После установки пакетов шаблонов Prism вы можете создать проектное решение. Откройте Visual Studio, щелкните новый проект и выберите Prism Blank App в меню слева: Installed > Visual C# > Prism > Xamarin.Forms

Создание первого экрана

Мы можем создавать наши экраны в Xamarin Forms, просто создавая файл XAML в папке Views.

Добавьте метку на новом экране, чтобы отображать текст при переходе к нему.

Он называется MyFirstScreen и предназначен для создания модели ViewModel с именем MyFirstScreenViewModel в папке ViewModels.

Необходимо сказать Prism, что у нас есть новый экран с новой ViewModel. Для этого перейдите в App.xaml.cs и добавьте новую строку в метод RegisterTypes:

Переход к созданному экрану

Наконец, перейдите к MainPage.xaml и напишите код:

На страницу была добавлена ​​кнопка с командой, выполняющей метод навигации к MyFirstScreen. Он также установил некоторые значения, такие как BorderRadius для создания окружающих границ, BackgroundColor для рисования фона кнопки, FontSize для увеличения текста кнопки и свойство Command с привязкой к нашей NavigateToMyFirstScreenCommand, которую мы создаем в нашей MainPageViewModel:

Мы создали пространство имен DelegateCommand в Prism.Commands для выполнения NavigateAsync в NavigationService для навигации по странице MyFirstScreen.

Мы здесь! Результат должен быть таким же или похожим на этот:

Социальное

Https://www.linkedin.com/in/manacesneto/
https://github.com/manacespereira
https://twitter.com/manacespereira
[email protected]