拖动/缩放时图像不会留在边框/画布内

时间:2014-11-18 08:50:59

标签: c# wpf entity-framework

我有一个带有Canvas,border和Image的WPF应用程序。

<Canvas Height="300" Width="400" Background="Gray" Margin="10,210,15,150" Grid.Row="1">
    <Border BorderBrush="Black" BorderThickness="2" Width="400" Height="250" Name="bord" />
    <Image Name="x" Stretch="Fill" MouseWheel="x_MouseWheel" Width="359" Height="230"  Grid.Row="1" Opacity="1" MouseLeftButtonDown="x_MouseLeftButtonDown" MouseMove="x_MouseMove" RenderTransformOrigin="0.5,0.5" MouseLeftButtonUp="x_MouseLeftButtonUp">
        <Image.Source>
            <BitmapImage UriSource="/ProjectOwn;component/Images/First.png"/>
        </Image.Source>
    </Image>
</Canvas>

问题如下:我可以拖动图像并放大或缩小,但它不会留在我的边框/画布内,所以我可以在整个界面上移动它,同时鼠标点击它,这是不好(如果我缩小,图片也会变大,它需要整个wpf窗口)。我该如何解决?

1 个答案:

答案 0 :(得分:0)

如果您不希望Canvas的孩子超出其区域,那么您需要将ClipToBounds设置为true

<Canvas ... ClipToBounds="True">