Unity 6.3
0 онлайн 46 гостей 3 в системе
Вход

Определение режима привязки и триггера обновления

Чтобы определить, как изменения реплицируются между источником данных и UI, можно установить режим привязки и триггеры обновления для объекта привязки. Можно установить режим привязки и триггеры обновления в UI Builder, UXML или C#.

Определение режимов привязки

Режимы привязки настраивают, как изменения реплицируются между источником данных и UI. Доступны следующие режимы привязки:

  • TwoWay: Изменения реплицируются из источника данных в UI и из UI в источник данных. Это режим привязки по умолчанию.
  • ToTarget: Изменения реплицируются из источника данных только в UI.
  • ToSource: Изменения реплицируются из UI только в источник данных.
  • ToTargetOnce: Изменения реплицируются из источника данных в UI только один раз, если только не помечен как грязный.

Тип: Убедитесь, что вы установили соответствующий режим привязки, основанный на ваших потребностях. Например, чтобы предотвратить изменения в UI источнике, или если в источнике отсутствуют UI только для чтения, установите bindingMode до BindingMode.ToTarget.

Определение триггеров обновления

Объекты привязки можно обновлять на каждом кадре или при изменении источника данных. Доступны следующие триггеры обновления:

  • Каждый кадр
  • При обнаружении изменений или в каждом кадре, если обнаружение изменений невозможно. См. Определение источников данных для более подробной информации.
  • Когда прямо указано dirty

Для определения триггеров обновления используйте следующие свойства:

  • MarkDirty: Устанавливает объект привязки как dirty, так что он обновляется во время следующего цикла.
  • updateTrigger: Обновляет объект привязки в каждом кадре, независимо от версии источника данных.

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

Дополнительные ресурсы