Silverlight: straripamenti di tela
-
22-07-2019 - |
Domanda
Ho creato una tela e al suo interno ho inserito uno StackPanel. StackPanel è orizzontale e accetta un elenco di immagini in anteprima. La tela ha una dimensione fissa. Quando inserisco più anteprime di quelle che la larghezza della tela può contenere, si suppone che StackPanel trabocchi dalla tela, quindi posso spostarlo per centrare la miniatura corrente.
Tutto funziona correttamente, solo, l'overflow di StackPanel è visibile! C'è un modo per nasconderlo? O l'intero approccio è sbagliato?
Ecco uno screenshot. La tela è la scatola rossa. Lo stackpanel è blu semitrasparente.
http://www.netpalantir.it/static/sl_canvas_overflows.jpg
Grazie!
Soluzione
Poiché Canvas ha dimensioni fisse, è possibile utilizzare clipping . Fondamentalmente devi fare:
<Canvas Width="400" Height="300">
<Canvas.Clip>
<RectangleGeometry Rect="0, 0, 400, 300"/>
</Canvas.Clip>
<!-- your StackPanel here -->
</Canvas>
Ecco alcuni post utili sull'argomento: