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

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

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

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

谢谢!

有帮助吗?

解决方案

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

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

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

Silverlight 中的剪辑

在 Silverlight 中裁剪或剪裁

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top