2009-08-04 26 views
8

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

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

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

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

Gracias!

Respuesta

20

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

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

Aquí hay algunos mensajes útiles sobre el tema:

Clipping in Silverlight

Cropping or Clipping in Silverlight

+0

eso es exactamente lo que necesitaba, muchas gracias! :) – Palantir

Cuestiones relacionadas