У меня есть приложение, которое переключалось между разными графиками в Flex. Каждый график - это собственное состояние. В MXML я установил так, чтобы источник изображения менялся при изменении состояния:
<s:Image id="chartImage"
source.all="{ callImages.all }"
source.classA="{ callImages.classB }"
source.classB="{ callImages.classA }"
/>
У меня есть кнопки, которые успешно меняют изображения. Однако у меня есть небольшая ошибка, которая возникает из-за того, что после строки
this.currentState = chartName;
В моем коде ожидалось, что источник изображения графика будет изменен, однако фактическое изменение элемента s: Image, по-видимому, не произойдет до тех пор, пока функция не завершится и экран не обновится, я полагаю. Поэтому, когда он захватывает chartImage.height, он использует старый из состояния, которое я только что покинул.
Есть ли способ получить новое изображение (и, следовательно, его размеры), чтобы я мог производить расчеты с этими размерами в следующей строке? На данный момент chartImage.height возвращает высоту до изменения состояния, но она отличается после выполнения функции.
Я мог запустить таймер через долю секунды, а затем выполнить строки там, и это сработало бы. Однако я лучше скажу, чтобы он отобразил экран, а затем продолжил свой код. Это возможно? Это просто кажется более элегантным.