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!

È stato utile?

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:

Ritaglio in Silverlight

Ritaglio o ritaglio in Silverlight

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top