Под конфигурацией приложения обычно понимаются какие-либо настройки, применяемые, при запуске приложения. Это могут быть такие настройки, как строки подключения к базам данных, настройки оформления приложения, включение дополнительных опций и т. д. Конфигурация приложения .NET MAUI может осуществляться несколькими способами, которые мы рассмотрим в этом разделе.
.NET MAUI
Маршрутизация и навигация в NET MAUI. Отложенный переход
Приложения .NET MAUI с Shell могут осуществлять отложенный переход, то есть давать пользователю возможность выбора — перейти на страницу или нет, или выполнить перед переходом какую-либо работу.
Маршрутизация и навигация в NET MAUI. Получение и передача данных в параметрах URI
Передача данных в параметрах URI в приложениях .NET MAUI, использующих Shell, осуществляется практически также, как и в веб-приложениях, например, Blazor. При этом, в параметрах URI могут передаваться не только примитивные данные, но и сложные объекты.
Регистрация дополнительных маршрутов
В приложении могут содержаться страницы, которые не требуется отображать в визуальной иерархии Shell. К таким страницам, например, относятся страницы с детальными сведениями об объектах или страницы для редактирования объектов и так далее. Регистрация дополнительных маршрутов в .NET MAUI позволяет связать страницу приложения с её маршрутом, не помещая страницу в визуальную иерархию элемента Shell.
Маршрутизация и навигация в NET MAUI. Маршруты
С навигацией в приложении .NET MAUI мы частично познакомились при изучении NavigationPage. Вместе с этим, если наше приложение использует оболочку (Shell), то мы получаем в свое распоряжение также мощную систему навигации и маршрутизации, включая и использование параметров маршрутов, как это делается, например, в Blazor Hybrid или приложениях ASP.NET Core. В этой части мы разберемся с маршрутизацией и навигацией в приложениях, использующих Shell.
MVVM в .NET MAUI. Отключение команд
Команда не всегда может и должна выполняться. Например, если пользователь ввел некорректные данные, то команда на добавление этих данных, например, в БД должна быть отключена. Отключение команд в .NET MAUI осуществляется с использованием метода CanExecute().
MVVM в .NET MAUI. Параметры команды
Команды в .NET MAUI для выполнения своей работы могут принимать некие параметры извне. Параметры команды, обычно передаются через свойство CommandParameter элементов управления.
MVVM в .NET MAUI. Команды (ICommand)
В предыдущей части мы познакомились с шаблоном MVVM и даже написали небольшое приложение, использующее все три компонента — View, ViewModel и Model. В этом приложении мы продемонстрировали лишь часть работы — передачу данных от модели к представлению. Однако на ViewModel возлагаются также и задачи по обработке событий, сообщающих об изменении модели и передаче событий об изменении данных в пользовательский интерфейс. Для решения этих задач в .NET MAUI используются команды.
MVVM в .NET MAUI. Введение
До этого момента мы особо не задавались вопросом того, как спроектировать наше приложение, чтобы в дальнейшем его было легко поддерживать и вносить изменения и для демонстрации тех или иных возможностей .NET MAUI максимум, что мы использовали — это меняли разметку XAML страницы и создавали обработчики событий в файлах отдельного кода. Такой подход вполне может использоваться, однако, по мере развития проекта, роста его возможностей, появления в структуре проекта новых сущностей код нашего приложения станет трудно поддерживаемым, так как бизнес-логика приложения и пользовательский интерфейс станут настолько тесно связанными, что полне может оказаться, что переписать весь код с нуля будет проще, чем поддерживать существующий. Шаблон (паттерн) проектирования MVVM позволяет разделить структуру проекта на три части — модель (Model), модель представления (ViewModel) и представление (View).
Внедрение зависимостей в .NET MAUI. Вызов кода платформы
Платформа .NET MAUI, прежде всего, предназначена для разработки кроссплатформенных приложений, работающих в различных операционных системах со своими особенностями реализации. Вызов кода платформы — одна из особенностей проектов .NET MAUI. Нам необходимо обеспечить работу сервиса на нескольких платформах и, при этом, сервис может учитывать какие-либо возможности конкретной платформы.