2009-08-04 11 views
8

Utworzono płótno, a wewnątrz niego umieściłem StackPanel. StackPanel jest poziomy i akceptuje listę miniaturowych obrazów. Płótno ma ustalony rozmiar. Kiedy umieszczę więcej miniaturek, niż może pomieścić szerokość płótna, StackPanel powinien przepełnić płótno, więc mogę go przesunąć, aby wyśrodkować bieżącą miniaturę.Silverlight: przepełnienie płótna

Wszystko działa poprawnie, tylko przepełnienie StackPanel jest widoczne! Czy istnieje sposób, aby to ukryć? Czy też całe podejście jest złe?

Oto zrzut ekranu. Płótno to czerwone pudełko. Stackpanel jest niebieski półprzezroczysty.

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

Dzięki!

Odpowiedz

20

Ponieważ płótno ma ustalony rozmiar, można użyć clipping. Zasadniczo trzeba zrobić:

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

Oto kilka przydatnych wiadomości na ten temat:

Clipping in Silverlight

Cropping or Clipping in Silverlight

+0

To jest dokładnie to, co potrzebne, wielkie dzięki! :) – Palantir