Flex: привязка к высоте UITextField - PullRequest
0 голосов
/ 05 октября 2010

У меня проблемы с привязкой высоты UITextField к y VBox и высоте TitleWindow. Я пытаюсь отрегулировать высоту TitleWindow и высоту VBox так, чтобы UITextField не перекрывал другое содержимое.

Кроме того, я попытался установить высоту UITextField равной явной высоте, но я не смог заставить его работать

Я должен использовать UITextField вместо Text, потому что я использую Flash Eff2.

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="absolute" 
    width="520"  
    height="{tf.height + 380}">



<mx:Script>
    <![CDATA[
        import mx.core.UITextFormat;
        import mx.events.ItemClickEvent;

        import mx.controls.RadioButton;
        import mx.controls.RadioButtonGroup;
        import mx.core.UITextField;

        import mx.managers.PopUpManager;


        [Bindable]
        public var tf:UITextField = new UITextField;

        [Bindable]
        public var myText:String;

        [Embed(source="../libs/arial.ttf", fontFamily="ArialEmbedded")]
            public const ArialEmbedded:Class;

        public function createEffect2():void{

                tf.autoSize = TextFieldAutoSize.LEFT;
                //tf.height=150;
                tf.embedFonts = true;
                tf.multiline = true;
                tf.text = myText;
                tf.width = 400;
                tf.wordWrap = true;

                var myFormat:TextFormat = new TextFormat;
                myFormat.size = 25;
                myFormat.blockIndent=50;

                this.addChild(tf);
                tf.validateNow();
                tf.setTextFormat(myFormat);
                } 

    ]]>
</mx:Script>



        <mx:VBox  x="180" y="{tf.height + 140}"  width="480"  >
            <mx:RadioButtonGroup id="choicesRadioButtonGroup" />
                <mx:RadioButton  groupName="choicesRadioButtonGroup" label="A" horizontalCenter="150"/>
                <mx:RadioButton  groupName="choicesRadioButtonGroup" label="B" horizontalCenter="150"/>
                <mx:RadioButton  groupName="choicesRadioButtonGroup" label="C" horizontalCenter="150"/>
        </mx:VBox>



</mx:TitleWindow>

Я получаю: Привязка данных не сможет обнаружить назначения для "высоты".

Есть предложения?

Спасибо.

-Laxmidi

1 Ответ

1 голос
/ 05 октября 2010

Если бы мне пришлось угадывать, Binding - это конструкция Flex, а не конструкция "ActionScript". Высота - это привязка, созданная в UIComponent, но UITextField не расширяет UIComponent. Вместо этого он расширяет FlexTextField, расширяющий TextField (закрытый источник Flash класс).

Вы можете либо расширить UITextField и переопределить высоту, чтобы сделать его Bindable, либо просто использовать класс Flex TextInput, который расширяет UIComponent.

...