Есть ли альтернатива во Flex, чтобы SuspendLayout и ResumeLayout делали в Windows Forms? - PullRequest
1 голос
/ 25 августа 2011

То есть временно приостановить логику макета для элемента управления во Flex, чтобы он не терял процессорного времени при попытке рендеринга новых данных, которые я обновляю или создаю, до тех пор, пока я не закончу обновления в элементах управления, которые должны

Спасибо

1 Ответ

0 голосов
/ 25 августа 2011

Проблема в том, что SuspendLayout и ResumeLayout в WinForms решаются во Flex через invalidateProperties и commitProperties. Оба набора методов предназначены для обеспечения большого количества обновлений свойств при одновременной задержке соответствующих обновлений пользовательского интерфейса до тех пор, пока все обновления свойств не будут выполнены.

По сути, вместо того, чтобы что-то делать в установщиках свойств, просто попросите их обновить хранилище резервных копий и флаг xxxChanged и вызвать invalidateProperties(). Затем переопределите commitProperties, не забудьте вызвать super.commitPropeties(), и получите множество операторов if (xxxChanged) { ...; xxxChanged = false; }, которые фактически передают свойства в пользовательский интерфейс.

Здесь есть хорошая и большая статья на эту тему: http://www.billdwhite.com/wordpress/?p=21

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...