3.3 Управление с помощью условий
Last updated
Last updated
Вскоре после начала разработки вы захотите отображать элементы в зависимости от каких-либо условий. Например, показывать кнопку "Выйти", если пользователь вошел в систему или изменять цвет кнопки если пользователь навел курсор.
Когда вы редактируете элемент (при двойном клике на него), вы видите Редактор свойств. Вкладка "Внешний вид"/"Appearance" определяет основное поведение элемента, а во вкладке "Условия"/"Conditional" вы можете задать условия, которые будут применяться к элементу в во время работы.
Условие состоит из двух частей:
Непосредственно условие, которое определяет свойства, изменяемые в пункте 2. В примере выше условием будет "Текущий пользователь не вошел в систему"/"Current user isn't logged in".
Свойства, которые нужно изменить, когда элемент видит условие, заданное в пункте 1. В таком случае, элемент будет невидим.
Условие задаётся с помощью "Конструктора выражений/"Expression Composer". Вам ничего не нужно печатать, наоборот, использовать выпадающие меню, которые покажут возможные параметры. Помните, что условие должно быть выражением с результатом типа да/нет, в противном случае вы получите сообщение об ошибке. Если вы хотите, чтобы вид кнопки менялся при наведении мышки, условие должно быть "На эту кнопку наведена мышь"/"This Button is hovered".
При работе с элементами в Редакторе вы можете кликнуть по надписи ON/OFF для искусственного переключения элемента в нужное состояние в целях редактирования. Это не повлияет на элемент.
Если для элемента выполняются несколько условий, то все они будут применены. Если два или более условий имеют противоречащие свойства (например, одно и то же свойство по-разному изменяется в соответствии с двумя или более условиями) , то сработает последнее. В таком случае, вы можете управлять порядком условий кликая по надписи "сдвинуть вверх"/"move up" или "сдвинуть вниз"/"move down".
В большинстве случаев условия затрагивают данные из базы данных, в главе Работа с данными (!!!ЛНК!!!) рассматриваются ключевые понятия использования данных. Важным понятием является понятие "Пользовательского состояния"/"Custom State" элемента. Это также будет описано в указанной главе; в двух словах, эта функция позволяет назначить элементу любой тип данных и использовать это состояние для задания условий. Например, состояние "отображается" на уровне страницы может иметь тип "да/нет", и вы можете использовать какие-то действия для изменения этого значения. Используя это состояние в условии, можно контролировать видимость сразу многих элементов, используя всего одно значение. Это наиболее часто встречающийся метод для разработки сложных интерфейсов. Для более подробной информации по пользовательским состояниям обратитесь в соответствующую главу.
Так как для элемента может быть задано более одного условия, несколько из них могут принять значение "да" для этого элемента. Для того, чтобы понимать поведение элемента в связке с условиями, вам нужно отслеживать по шагам то, как ведет себя элемент. Мы советуем использовать отладчик, чтобы исследовать элемент и выяснить, какое условие сейчас имеет значение "да" и как это влияет на внешний вид элемента. Для больших подробностей читайте главу "Использование отладчика".
Такие правила смены состояний можно применить только к некоторым визуальным свойствам. Например, изменение текста кнопки не может происходить постепенно, а изменение цвета может.
При изменении значения условного выражения с "да" на "нет" и обратно, свойство элемента изменяются мгновенно. Если вы хотите, чтобы какие-то свойства изменялись постепенно, вы можете задать правило смены состояний в третьей вкладке Редактора свойств. Эта функция полезна, если вы хотите придать плавности вашему интерфейсу. Например, на картинке ниже цвет фона изменяется с изначального в конечный за 200 миллисекунд по кривой ослабления. См здесь (!!!ЛНК!!!)