2009-08-04 16 views
8

Tôi đã tạo Canvas và bên trong nó tôi đã đặt một StackPanel. StackPanel nằm ngang và nó chấp nhận danh sách hình ảnh thu nhỏ. Canvas có kích thước cố định. Khi tôi đặt nhiều hình thu nhỏ hơn chiều rộng Canvas có thể giữ, StackPanel được cho là tràn từ Canvas, vì vậy tôi có thể di chuyển hình ảnh đó đến giữa hình thu nhỏ hiện tại.Silverlight: Canvas overflows

Mọi thứ hoạt động chính xác, chỉ, luồng tràn StackPanel mới hiển thị! Có cách nào để che giấu nó không? Hoặc là toàn bộ cách tiếp cận sai?

Đây là ảnh chụp màn hình. Canvas là hộp màu đỏ. Stackpanel có màu xanh trong suốt.

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

Cảm ơn!

Trả lời

20

Vì Canvas có kích thước cố định, bạn có thể sử dụng clipping. Về cơ bản bạn phải làm:

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

Dưới đây là vài bài viết hữu ích về chủ đề này:

Clipping in Silverlight

Cropping or Clipping in Silverlight

+0

Đó chính xác là những gì tôi cần, thanks a lot! :) – Palantir