8

假设我有一个定义为 1000x1000 大的画布。是否可以在 Viewbox(或矩形)中仅显示 100x100 的一部分?

任何帮助表示赞赏......

4

1 回答 1

7

如果您使用画笔,您可能需要查看WPF 中的 Viewbox 和 Viewport

编辑:我刚刚意识到 Viewbox 和 Viewport 用于画笔这并不适合您的情况。我查了一下,我想你会喜欢UIElement 上的Clip属性。

由于 Canvas 也是 UIElement,因此您可以使用 Clip 属性在 Canvas 上模拟视口。

单击此处获取一些简单的几何类型

我认为使用 RectangleGeometry 就足够了

<Canvas>
    <Canvas.Clip>
        <RectangleGeometry Rect="50,50,25,25" />
    </Canvas.Clip>
</Canvas>

编辑#2:

呵呵好吧..如果你想显示你的总画布,只显示更小,也许你应该看看LayoutTransform。然后使用ScaleTranform调整 Canvas 的大小;)。

<Canvas>
    <Canvas.LayoutTransform>
        <ScaleTransform CenterX="0" CenterY="0" ScaleX="0.5" ScaleY="0.5" />
    </Canvas.LayoutTransform>
</Canvas>

调整参数,直到收到所需的效果;)

于 2009-08-24T11:11:20.350 回答