0
Not a bug

Привязка к свойству элемента UI Enable

AlexDr 3 years ago in Applications / i3 Pro updated 3 years ago 6

Если создать привязку к элементу button в виде: UI.popup.Item.Enable == Divers.iriServer.Tag

То кнопка перестает отображать состояние при нажатии вне зависимости от значения серверного тега. Более того, если удалить эту привязку кнопка все равно не меняет свое состояние при нажатии.

При этом если серверный тэг=1 или привязку удалить - нажатия button обрабатывает как обычно.

Waiting for user's reply

Доброго дня
К сожалению, из вашего описания не ясна суть проблемы.

Свойство Enable - это свойство, которое у элемента по умолчанию = 1. Оно отвечает за возможность нажать на элемент. Если Enable = 0, то на элемент нажать нельзя, и он отображается в оттенках серого цвета. При этом элемент будет менять свое состояние при изменении параметра Value или State извне.


Вы можете убедиться в корректности работы свойства с помощью этого примера:
Enable.irpz


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


Без использования сервера все действительно корректно работает. Ниже я прикрепил пример проекта на основе вашего проекта

UI.popup.Item.Enable == Divers.iriServer.Tag

Должно быть так

UI.popup.Item.Enable = Divers.iriServer.Tag

Я описывал связь свойства Enable с серверным тегом через Relations


Пример проекта в котором управляемый элемент не меняет состояние при нажатии на него:

Enable.irpz

Enable_Server.sirpz

+1
Not a bug

Нет разницы, от какого токена свойство Enable принимает значение 0 или 1, источник значения просто должен работать. В вашем проекте он работает.

Но, в вашем проекте, кнопка имеет тип Button и Feedback: Channel, при этом, она пытается отправить в токен проекта Собственное значение Value, которое всегда будет = 0 (это просто кнопка, а не триггер). Такая кнопка не будет при нажатии менять состояние, не зависимо от свойства Enable, т.к. всегда передает 0 в тег проекта.

Измените тип кнопки на Trigger Button или используйте отправку Press: 1 + Release: 0, чтобы увидеть изменение.


Свойство Enable в данном случае не связано с возможностью нажать на кнопку, она не нажимается, т.к. ее общие настройки этого не позволяют.


Пожалуйста, попробуйте приложенные проекты.


Enable_Server t.sirpz

Enable t.irpz


+1

спасибо за разъяснение. все получилось))

Я пришел в иридиум с WinForms. Там такого разнообразия свойств у элементов нет.


уточню только что оставил тип элемента Button и для привязки по Release свойство кнопки Feedback сделал Momentary