Проблема в том, что SuspendLayout
и ResumeLayout
в WinForms решаются во Flex через invalidateProperties
и commitProperties
. Оба набора методов предназначены для обеспечения большого количества обновлений свойств при одновременной задержке соответствующих обновлений пользовательского интерфейса до тех пор, пока все обновления свойств не будут выполнены.
По сути, вместо того, чтобы что-то делать в установщиках свойств, просто попросите их обновить хранилище резервных копий и флаг xxxChanged
и вызвать invalidateProperties()
. Затем переопределите commitProperties
, не забудьте вызвать super.commitPropeties()
, и получите множество операторов if (xxxChanged) { ...; xxxChanged = false; }
, которые фактически передают свойства в пользовательский интерфейс.
Здесь есть хорошая и большая статья на эту тему: http://www.billdwhite.com/wordpress/?p=21