Silverlight: La toile déborde
-
22-07-2019 - |
Question
J'ai créé un canevas et y ai placé un StackPanel. StackPanel est horizontal et accepte une liste d'images miniatures. La toile a une taille fixe. Lorsque je mets plus de vignettes que la largeur du canevas ne peut en contenir, le StackPanel est supposé déborder du canevas afin que je puisse le déplacer pour centrer la vignette actuelle.
Tout fonctionne correctement, seul le débordement de StackPanel est visible! Y a-t-il un moyen de le cacher? Ou est-ce que toute l'approche est fausse?
Voici une capture d'écran. La toile est la boîte rouge. La pile de panneaux est bleue semi-transparente.
http://www.netpalantir.it/static/sl_canvas_overflows.jpg
Merci!
La solution
La taille du canevas étant fixe, vous pouvez utiliser découpage . Fondamentalement, vous devez faire:
<Canvas Width="400" Height="300">
<Canvas.Clip>
<RectangleGeometry Rect="0, 0, 400, 300"/>
</Canvas.Clip>
<!-- your StackPanel here -->
</Canvas>
Voici quelques articles utiles sur le sujet: