Проблема создания TileList с холстами, которые можно перетаскивать - PullRequest
0 голосов
/ 24 ноября 2010

Я хочу создать список плиток, в котором будут разные холсты или vbox и т. Д., И я хочу, чтобы они могли перетаскиваться.

Я написал код, чтобы сделать это, но вывод ничего не показываетв списке.

<mx:TileList width="1500" height="1000" dragMoveEnabled="true" 
                selectable="true" selectionColor="#FFFFFF"
                dragEnabled="true" dropEnabled="true" 
                 columnCount="1" rowHeight="160">
        <mx:dataProvider>
            <mx:Array>
                <mx:Canvas width="1450" height="100">
                    <mx:Button label="Testin the buttong"/>
                </mx:Canvas>
                <mx:Canvas width="1450" height="100">
                    <mx:Button label="Testin"/>
                </mx:Canvas>
            </mx:Array>
        </mx:dataProvider>
    </mx:TileList>

Как это исправить?Или дайте мне знать, что я здесь делаю неправильно?

Спасибо и всего наилучшего Zeeshan

1 Ответ

0 голосов
/ 24 ноября 2010

Ваш dataProvider должен иметь какие-то объекты. Теоретически они могут быть экземпляром Canvas, но было бы весьма необычно использовать визуальный компонент в качестве dataProvider. То, что вы хотите сделать, это прочитать на itemRenderers. itemRenderer - это компонент, который будет использоваться для визуализации каждого экземпляра вашего dataProvider.

Попробуйте что-то вроде этого:

<mx:script><[[
 public var mydb : Array = [
   {label: 'Testin the buttong'},
   {label: 'Testin'}

  ]
]]></mx:script>

<mx:TileList width="1500" height="1000" dragMoveEnabled="true" 
                selectable="true" selectionColor="#FFFFFF"
                dragEnabled="true" dropEnabled="true" 
                 columnCount="1" rowHeight="160" dataProvider="{mydp}">
        <mx:itemRenderer>
         <mx:Component>
                <mx:Canvas width="1450" height="100">
                    <mx:Button label="{data.label}"/>
                </mx:Canvas>
         </mx:Component>
        </mx:itemRenderer>
    </mx:TileList>

Короче говоря, я определил dataProvider в скрипте с общими объектами. И я определил itemRenderer в строке. Нечто подобное должно хотя бы что-то появиться.

Я не уверен, что Canvas можно перетаскивать, так как на нем обычно нечего нажимать, чтобы начать перетаскивание. Вы можете рассмотреть TitleWindow.

Я написал код в браузере, поэтому применяются стандартные заявления об отказе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...