滚动时如何重绘我的degrafa背景?

时间:2008-11-19 18:32:21

标签: flex scroll degrafa

我使用的是具有degrafa背景的画布,到目前为止一直很好。

但是,滚动时,背景(degrafa网格)不会重绘。 在代码中,背景笔划链接到容器高度。即使滚动,容器高度也不会改变。

如何获得整个区域的高度,以便将新高度设置为我的degrafa背景?

看起来像这样:

degrafa background example

 <mx:Canvas id="blackBoard"
                width="100%" 
                height="100%" 
                x="0" 
                y="0" 
                backgroundColor="#444444"
                clipContent="true">

    <!-- Degrafa Surface   -->
    <degrafa:Surface id="boardSurfaceContainer">
            <degrafa:strokes>
                <degrafa:SolidStroke    id="whiteStroke"
                                        color="#EEE"
                                        weight="1"
                                        alpha=".2"/>
            </degrafa:strokes>

            <!-- Grid drawing -->
            <degrafa:GeometryGroup id="grid">
                <degrafa:VerticalLineRepeater   count="{blackBoard.width / ApplicationFacade.settings.GRID_SIZE}"
                                                stroke="{whiteStroke}"
                                                x="0"
                                                y="0"
                                                y1="{blackBoard.height}"
                                                offsetX="0"
                                                offsetY="0"
                                                moveOffsetX="{ApplicationFacade.settings.GRID_SIZE}"
                                                moveOffsetY="0"/>

                <degrafa:HorizontalLineRepeater count="{blackBoard.height / ApplicationFacade.settings.GRID_SIZE}"
                                                stroke="{whiteStroke}"
                                                x="0"
                                                y="0"
                                                x1="{blackBoard.width}"
                                                offsetX="0"
                                                offsetY="0"
                                                moveOffsetX="0"
                                                moveOffsetY="{ApplicationFacade.settings.GRID_SIZE}"/>

            </degrafa:GeometryGroup>          

        </degrafa:Surface>

1 个答案:

答案 0 :(得分:0)

我只需要在degrafa属性绑定中使用滚动位置

            <degrafa:VerticalLineRepeater   count="{(blackBoard.width + blackBoard.horizontalScrollPosition)/ ApplicationFacade.settings.GRID_SIZE}"
                                            stroke="{whiteStroke}"
                                            x="0"
                                            y="0"
                                            y1="{blackBoard.height + blackBoard.verticalScrollPosition}"
                                            offsetX="0"
                                            offsetY="0"
                                            moveOffsetX="{ApplicationFacade.settings.GRID_SIZE}"
                                            moveOffsetY="0"/>