WPF。如何只显示大画布的一部分?

时间:2009-08-24 11:05:36

标签: wpf resize wpf-controls zoom viewbox

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

感谢任何帮助......

1 个答案:

答案 0 :(得分:6)

如果您使用Brushes,您可能需要查看Viewbox and Viewport in WPF

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

由于Canvas也是一个UIElement,您可以使用Clip属性来模拟Canvas上的视口。

Click here for some simple Geometry types

我认为你可以使用RectangleGeometry

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

编辑#2:

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

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

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