8

我创建了一个 Canvas,并在其中放置了一个 StackPanel。StackPanel 是水平的,它接受缩略图列表。画布具有固定大小。当我放置的缩略图超过 Canvas 的宽度时,StackPanel 应该会从 Canvas 溢出,因此我可以将其移动到当前缩略图的中心。

一切正常,只有 StackPanel 的溢出可见!有没有办法隐藏它?或者整个方法是错误的?

这是一个屏幕截图。画布是红色框。堆栈面板是蓝色的半透明。

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

谢谢!

4

1 回答 1

20

由于 Canvas 具有固定大小,因此您可以使用clipping。基本上你必须这样做:

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

以下是关于该主题的一些有用的帖子:

Silverlight 中的剪辑

Silverlight 中的裁剪或剪裁

于 2009-08-04T11:08:28.520 回答