0

我正在使用具有 degrafa 背景的画布,到目前为止一切都很好。

但是,滚动时,背景(degrafa 网格)不会重绘。在代码中,背景笔画与容器高度相关联。即使滚动,容器高度也不会改变。

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

它看起来像这样:

degrafa 背景示例

 <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>
4

1 回答 1

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"/>
于 2008-11-20T00:01:14.047 回答