图像在拖动/缩放时不会停留在边框/画布内
本文关键字:边框 停留在 布内 拖动 缩放 图像 | 更新日期: 2023-09-27 18:30:41
我有一个带有画布,边框和图像的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 窗口)。我该如何解决?
如果您不希望Canvas
子项超出其区域,则需要将ClipToBounds
设置为 true
<Canvas ... ClipToBounds="True">