如何使用 vslider 作为列表的滚动条?我知道了,但无法从这里弄明白:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark" height="100%" width="100%">
<s:VSlider id="slider" minimum="0" maximum="{listy.height}" liveDragging="true"/>
<s:List id="listy" width="50%" height="100">
<s:layout>
<s:VerticalLayout id="vLayout" verticalScrollPosition="{slider.value}" />
</s:layout>
<mx:ArrayCollection>
<fx:String>Flash</fx:String>
<fx:String>Director</fx:String>
<fx:String>Dreamweaver</fx:String>
<fx:String>ColdFusion</fx:String>
<fx:String>Flash</fx:String>
<fx:String>Director</fx:String>
<fx:String>Dreamweaver</fx:String>
<fx:String>ColdFusion</fx:String>
<fx:String>Flash</fx:String>
<fx:String>Director</fx:String>
<fx:String>Dreamweaver</fx:String>
<fx:String>ColdFusion</fx:String>
</mx:ArrayCollection>
</s:List>
</s:Application>
编辑:使用下面 Nate 的建议,我现在已经开始工作了,但它同时显示了 vslider 和默认滚动条。如何隐藏默认滚动条?我尝试设置 verticalScrollPolicy="off"但这没有用。谢谢
最佳答案
这是完全可能的,我的目标是证明它!开个玩笑吧,这里只是使用一些简单的绑定(bind),你已经非常接近了!
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark" height="100%" width="100%">
<s:Group>
<s:layout>
<s:HorizontalLayout/>
</s:layout>
<s:List id="listy" width="50%" height="100"
change="slider.value=listy.layout.verticalScrollPosition" creationComplete="
listy.dataGroup.addEventListener(MouseEvent.MOUSE_WHEEL, function():void{
slider.value=listy.layout.verticalScrollPosition}
);">
<s:layout>
<s:VerticalLayout id="vLayout" verticalScrollPosition="{slider.value}" />
</s:layout>
<mx:ArrayCollection>
<fx:String>Flash</fx:String>
<fx:String>Director</fx:String>
<fx:String>Dreamweaver</fx:String>
<fx:String>ColdFusion</fx:String>
<fx:String>Flash</fx:String>
<fx:String>Director</fx:String>
<fx:String>Dreamweaver</fx:String>
<fx:String>ColdFusion</fx:String>
<fx:String>Flash</fx:String>
<fx:String>Director</fx:String>
<fx:String>Dreamweaver</fx:String>
<fx:String>ColdFusion</fx:String>
</mx:ArrayCollection>
</s:List>
<s:VSlider id="slider" height="{listy.height}"
minimum="0" maximum="{listy.dataGroup.contentHeight - listy.height}"
showDataTip="false" scaleY="-1" liveDragging="true"/>
</s:Group>
</s:Application>
如果你不明白它的方式和原因,请联系我 :)
关于apache-flex - 如何使用 vslider 作为列表的滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6802905/