Pregunta

He creado un Canvas, y dentro de él coloqué un StackPanel. El StackPanel es horizontal y acepta una lista de imágenes en miniatura. El lienzo tiene un tamaño fijo. Cuando coloco más miniaturas de las que puede contener el ancho del lienzo, se supone que el StackPanel se desborda del lienzo, por lo que puedo moverlo para centrar la miniatura actual.

Todo funciona correctamente, solo, ¡el desbordamiento de StackPanel es visible! ¿Hay alguna forma de ocultarlo? ¿O todo el enfoque es incorrecto?

Aquí hay una captura de pantalla. El lienzo es el cuadro rojo. El panel de pila es azul semitransparente.

http://www.netpalantir.it/static/sl_canvas_overflows.jpg

¡Gracias!

¿Fue útil?

Solución

Dado que el lienzo tiene un tamaño fijo, puede usar recorte . Básicamente tienes que hacer:

<Canvas Width="400" Height="300">
    <Canvas.Clip>
            <RectangleGeometry Rect="0, 0, 400, 300"/>
    </Canvas.Clip>
    <!-- your StackPanel here -->
</Canvas> 

Aquí hay algunas publicaciones útiles sobre el tema:

Recorte en Silverlight

Recorte o recorte en Silverlight

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top