我正在使用flex 3.6和yworks版本2.8。
我在mxml actionscript代码中手动设置GraphCanvasComponent上的缩放时遇到问题。 zoom属性绑定到滑块。除了绑定之外,这是一个:
<yworks:GraphCanvasComponent
id="graphCanvas"
width="100%"
height="100%"
minZoom="0.25"
maxZoom="8"
mouseWheelZoomFactor="1.02">
<mx:HSlider
id="zoomSlider"
width="150"
showDataTip="false"
change="{graphCanvas.zoom=Math.pow(2,event.value)}"
liveDragging="true"
tickInterval="1.0"
value="{Math.log(graphCanvas.zoom)/Math.log(2)}"
labels="{[graphCanvas.minZoom, graphCanvas.maxZoom]}"
minimum="{Math.log(graphCanvas.minZoom)/Math.log(2)}"
maximum="{Math.log(graphCanvas.maxZoom)/Math.log(2)}"/>
<!-- the slider's minimum, maximum and value are bound
to the corresponding properties on graphCanvas -->
但是,当我在动作脚本中手动设置GraphCanvasComponent的缩放属性时,它似乎已设置但实际图形不会缩放,滑块不会移动以反映新值。
这是我的动作脚本代码。如果重要的话,它是来自RoundtripHandler事件的回调。
private function onNetworkTopologyUpdateComplete(
event:RoundtripEvent):void
{
graphCanvas.zoom = 4.0;
}
请让我知道如何对我的组件上的缩放进行编程更改。谢谢!
答案 0 :(得分:0)
我与yworks工程师交谈,他们说RoundtripHandler完成后会安排一个fitContent调用。由于这将以异步方式执行,因此它将覆盖缩放设置。
解决方案是在RoundtripHandler上将fitContentOnUpdate属性设置为false。当你这样做时,fitContent调用不会发生。