如何在 WPF 图像控件中偏移图像的起点(平移图像)
我正在尝试更改 WPF 图像控件中图像的起点,但我似乎找不到直接的答案。
我试图允许用户平移并查看大于图像控件的图像。
这是我的应用程序的链接到屏幕截图,以及我需要的它要做。
举个例子,我希望 的起点是 (image.Height/2
, image.Width/2
) 而不是 (0,0)。我需要通过 C# 代码动态更改起点。
I'm trying to change the starting point of an image within a WPF image control, I can't seem to find a straight answer.
I'm trying to allow the user to pan and view a image which is larger than the image control.
Here is a link to a screenshot of my app, and what i need it to do.
Just as an example, I want the starting point of to be (image.Height/2
, image.Width/2
) instead of (0,0). I need the starting point to be dynamically changeable via the C# code.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试将图像控件放置在滚动查看器中。
然后您可以在代码中使用 ScrollToVerticalOffset 和 ScrollToHorizontalOffset 方法。
Try placing your image control inside a scroll viewer.
Then you can use the ScrollToVerticalOffset and ScrollToHorizontalOffset methods in code.
我知道这来得太晚了,但我发现自己遇到了类似的问题,并且 ScrollViewer 不适用于我,因为我需要管理图像上的鼠标交互事件。
相反,我的解决方案包括将
Image
放置在Canvas
内,然后设置(在我的情况下使用数据绑定)Canvas.Left
和Canvas.Top
在所述Image
上附加属性:I know this comes way too late, but I've found myself on a similar problem and
ScrollViewer
wouldn't work for me because I need to manage mouse interaction events on the image.Instead, my solution consists on placing the
Image
inside aCanvas
, then setting (in my case with a data binding) bothCanvas.Left
andCanvas.Top
attached properties on saidImage
: