Триггеры в .NET MAUI. Триггеры свойств

Наиболее простое и общее определение, что такое «триггер» можно сформулировать так — это некий фактор (механизм, событие), который приводит к началу некоего процесса.  Например, триггером для начала написания этого руководства для меня стало желание структурировать всю изученную информацию про .NET MAUI. То есть, триггер — желание, процесс — написание руководства. Применительно к .NET MAUI, триггер — это механизм декларативного описания в XAML действий, которые изменяют внешний вид элементов управления в зависимости от событий или изменений данных. В .NET MAUI выделяют несколько видов триггеров — это триггеры свойств, триггеры данных, триггеры событий, триггеры состояния и мульти-триггеры. В этом разделе мы изучим и применим на практике все виды триггеров и начнем с наиболее простых — триггеров свойств.

Читать далее

Привязка в .NET MAUI. Привязка списков и шаблоны данных (DataTemplate)

Довольно часто, при работе над приложением .NET MAUI нам требуется сделать привязку не к отдельному объекту и его свойству, а сразу к списку объектов. Например, чтобы вывести на экран список пользователей, проектов, задач и так далее. На данный момент мы уже знаем про такой элемент управления, как Picker. В этой части мы рассмотрим то, как можно заполнить этот элемент списком объектов, а также раздеремся с шаблонами данных на примере еще одного элемента — CollectionView.

Читать далее

Привязка в .NET MAUI. Привязка к произвольным объектам (интерфейс INotifyPropertyChanged)

До сих пор, при изучении привязки в .NET MAUI мы ограничивались примерами, в которых в качестве источника привязки выступали объекты типов, определенные в .NET MAUI в которых уже всё настроено для обеспечения нормальной работы приложения. При этом, инфраструктура .NET MAUI позволяет привязываться вообще к любым объектам в приложении, в том числе и к объектам типы которых разрабатываются нами самостоятельно.

Читать далее

Привязка в .NET MAUI. Относительная привязка

Относительная привязка (relative binding) позволяет задавать источник привязки относительно положения целевого объекта в визуальном дереве элементов. Относительные привязки задаются с использованием расширения разметки RelativeSource.

Читать далее

Привязка в .NET MAUI. Свойства и параметры конвертеров значений

Конвертеры значений в .NET MAUI, как и обычные классы C#, могут содержать свойства, значения которых могут присваиваться непосредственно в коде XAML. Кроме этого, в конвертер могут передаваться дополнительные параметры, позволяющие каким-либо образом влиять на ход конвертации.

Читать далее

Привязка в .NET MAUI. Форматирование строк и конвертеры значений (IValueConverter и IMultiValueConverter)

Не всегда бывает удобным (и возможным) отображать в элементе управления или передавать в свойство целевого объекта текущее значение свойства источника привязки. Например, нам может потребоваться каким-либо образом форматировать строку со значением из источника прежде, чем вывести её в тексте метки. Или привязываемые свойства вообще не совпадают по типу — одно свойство имеет тип Double, а второе, скажем Color и нам необходимо «вытащить» из Color, например, только значение яркости и так далее. В этом случае мы можем использовать при привязке данных форматирование строк или написать свой конвертер значений и применить его в привязке.

Читать далее

Привязка в .NET MAUI. Основы привязки

Обычно, в любом приложении, будь то приложение .NET MAUI, Blazor или любое другое приложение, можно выделить, как минимум, две части — это интерфейс пользователя, используя который, пользователь взаимодействует с приложением (frontend) и часть, в которой происходит сбор, обработка и хранение данных (backend). Одна из задач, которая стоит перед разработчиком приложения состоит в том, чтобы организовать взаимодействие этих частей — когда пользователь вводит какие-либо данные, то эти данные должны быть каким-либо образом использованы приложением и наоборот — если приложение производит какие-либо изменения в данных, то эти данные должны отобразиться в интерфейсе пользователя. Одним из распространенных решений этой задачи является использование событий: один объект сообщает посредствам событий об изменениях, другой (или другие объекты) — производит какую-либо работу по обработке этих изменений. Однако, наличие большого количества разнообразных объектов приводит к такому же разнообразию обработчиков событий в приложении и, как следствие, код приложения становится трудночитаемым и поддерживаемым, содержит большой объем однотипного стандартного кода. Механизм привязки позволяет автоматизировать процесс передачи данных от одного объекта к другому.

Читать далее

Ресурсы и стили. Использование менеджера визуальных состояний (Visual State Manager)

Элементы управления .NET MAUI могут находится в различных состояниях. например, кнопка может быть нажата или отключена, поле ввода может иметь фокус и так далее. При необходимости, мы можем менять оформление элемента управления в зависимости от его состояния. Для этого в .NET MAUI используется Visual State Manager (менеджер визуальных состояний)

Читать далее