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

一切正常,只有,StackPanel的溢出是可见的!有没有办法隐藏它?还是整个方法都不对?

这是屏幕截图。 Canvas 是红色框。堆栈面板为蓝色半透明。

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

谢谢!

最佳答案

由于Canvas具有固定的大小,因此可以使用clipping。基本上,您必须执行以下操作:

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

以下是有关该主题的一些有用的文章:

Clipping in Silverlight

Cropping or Clipping in Silverlight

关于Silverlight: Canvas 溢出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1226777/

10-11 14:08