2008-11-19 5 views
0

J'utilise une toile qui a un fond degrafa, jusqu'ici tout va bien. Cependant, lors du défilement, l'arrière-plan (grille degrafa) n'est pas redessiné. Dans le code, les traits d'arrière-plan sont liés à la hauteur du récipient. La hauteur du conteneur ne change pas même lors du défilement.Comment redessiner mon fond degrafa en faisant défiler?

Comment puis-je obtenir la hauteur de toute la zone pour que je puisse définir la nouvelle hauteur de mon fond degrafa?

Il ressemble à ceci:

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> 

Répondre

0

Je devais utiliser la position de défilement dans la propriété degrafa liant

  <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"/> 
+0

Cette réponse à votre question? Si c'est juste marqué comme accepté :) – dreamcrash