Всем привет. Имею такой код

Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml" minWidth="640" minHeight="480"
layout="absolute" resize="resizelistener()">
<mx:Canvas id="sceneContainer" height="100%" width="100%" backgroundColor="#00ffff" >
<mx:Script><![CDATA[
import mx.controls.Alert;
private function resizelistener():void
{
Alert.show(stage.height.toString()+" "+stage.width.toString())
}
]]></mx:Script>
<mx:HBox id="sceneMenu" width="200" height="50" y="{sceneContainer.height-100}" backgroundColor="#ffff00"
x="{(sceneContainer.width-sceneMenu.width)/2}">
</mx:HBox>
</mx:Canvas>
</mx:Application>
В данном случае resizelistener выводит мне одни и теже размеры при любых изменениях размера исполняющего приложения(в частности проверялось в браузере opera и отдельно в проигрывателе flash). Что я хочу от приложения-sceneMenu должна выравниваться в sceneContainer согласно указанным формулам y="{sceneContainer.height-100}" и x="{(sceneContainer.width-sceneMenu.width)/2}". Пробовал делать выравнивание в обработчике но оно не работало по причине что размер stage не менялся. Может я не то событие ловлю? И вариант ли сделать выравнивание с помощью биндинга?