увеличение ширины выпадающего списка - PullRequest
1 голос
/ 15 апреля 2011

Я хочу настроить ширину элемента управления DropDownList в flex 4. Я мог бы сделать это, отредактировав skinclass и установив для свойства PopupAnchor «popUpWidthMatchesAnchorWidth» значение false, но в моем приложении я должен сделать это с помощью actionscript.

Ответы [ 3 ]

2 голосов
/ 16 апреля 2011

Вы можете установить typicalItem свойство DropDownList для выбранного в данный момент элемента.

Из Примеры Flex :

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2010/01/21/resizing-a-spark-dropdownlist-control-to-match-the-currently-selected-item-in-flex-4/ -->
<s:Application name="Spark_DropDownList_typicalItem_test"
        xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:mx="library://ns.adobe.com/flex/mx">

    <s:DropDownList id="cb"
                    labelField="name"
                    typicalItem="{cb.selectedItem}"
                    requireSelection="true"
                    left="20" top="20">
        <s:dataProvider>
            <s:ArrayList>
                <fx:Object name="Baltimore Orioles" abbr="BAL" />
                <fx:Object name="Boston Red Sox" abbr="BOS" />
                <fx:Object name="Chicago White Sox" abbr="CWS" />
                <fx:Object name="Cleveland Indians" abbr="CLE" />
                <fx:Object name="Detroit Tigers" abbr="DET" />
                <fx:Object name="Kansas City Royals" abbr="KC" />
                <fx:Object name="Los Angeles Angels of Anaheim" abbr="LAA" />
                <fx:Object name="Minnesota Twins" abbr="MIN" />
                <fx:Object name="New York Yankees" abbr="NYY" />
                <fx:Object name="Oakland Athletics" abbr="OAK" />
                <fx:Object name="Seattle Mariners" abbr="SEA" />
                <fx:Object name="Tampa Bay Devil Rays" abbr="TB" />
                <fx:Object name="Texas Rangers" abbr="TEX" />
                <fx:Object name="Toronto Blue Jays" abbr="TOR" />
            </s:ArrayList>
        </s:dataProvider>
    </s:DropDownList>

</s:Application>
1 голос
/ 18 апреля 2011

Большое спасибо всем респондентам. здесь я даю код, который используется для ограничения ширины раскрывающегося списка.

пакет { import spark.components.DropDownList; import mx.controls.Alert; import spark.components.PopUpAnchor; import mx.collections.IList; import spark.components.ComboBox;

public class customDDList extends DropDownList
{   
    [SkinPart(popUpWidthMatchesAnchorWidth)]  
    public var popUp:PopUpAnchor ; 
    public function customDDList():void
    {
        super();
    }
    override protected function partAdded(partName:String, instance:Object):void 
    {    
        super.partAdded(partName, instance);   
                     if (partName == "popUp")   
        {
            instance.popUpWidthMatchesAnchorWidth = false;

        }

    }
    public override function set dataProvider(value:IList):void
    {
        super.dataProvider = value;
    }
}

}

0 голосов
/ 03 февраля 2012

Можно также создать другой скин для компонента DropDownList и установить для свойства popUpWidthMatchesAnchorWidth значение false в части PopUpAnchor обложки:

    <s:PopUpAnchor id="popUp"  
    displayPopUp.normal="false" displayPopUp.open="true" includeIn="open"
    left="0" right="0" top="0" bottom="0" 
    itemDestructionPolicy="auto" 
    popUpPosition="below"
    popUpWidthMatchesAnchorWidth="false" >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...