鼠标单击Silverlight 2.0时放大缩小

鼠标单击Silverlight 2.0时放大缩小,silverlight,silverlight-2.0,Silverlight,Silverlight 2.0,我想放大/缩小一幅图像,精确到鼠标点击的位置。整个图像应该被放大,但当前视图应该显示鼠标点击发生的部分,滚动条也应该可以用于查看其他部分 我尝试使用scrollviewer并将图像控件放在其中。鼠标单击时,我使用RenderTransform,并在每次用户单击放大时将比例增加1。图像正在放大,但视图不在鼠标单击的位置 请帮忙 谢谢 Sai您需要根据鼠标位置设置属性 RenderTransferMorigin的值根据UIElement边界框的左上角计算 您需要将鼠标位置转换为图像的坐标,以获得正确

我想放大/缩小一幅图像,精确到鼠标点击的位置。整个图像应该被放大,但当前视图应该显示鼠标点击发生的部分,滚动条也应该可以用于查看其他部分

我尝试使用scrollviewer并将图像控件放在其中。鼠标单击时,我使用RenderTransform,并在每次用户单击放大时将比例增加1。图像正在放大,但视图不在鼠标单击的位置

请帮忙

谢谢 Sai

您需要根据鼠标位置设置属性

RenderTransferMorigin的值根据UIElement边界框的左上角计算


您需要将鼠标位置转换为图像的坐标,以获得正确的原点,并通过将位置除以图像的尺寸来规范化这些值,使其处于0到1的范围内。

谢谢克里斯。。我在mouseleftbuttondown事件中使用了e.getposition(发送者),并将其分配给RenderTransferMorigin,所有内容都变为空白。。不知道为什么?@Sai-调试代码并检查值以确保它们是合理的。您可能必须否定这些值(例如),但我自己永远记不住这些东西,所以我总是检查。我直接将e.getposition(发件人)分配给RenderTransferorMorigin,这是不正确的,我应该通过将位置除以维度将值从0规范化为1。这样做之后,我让它工作了。谢谢你。@Sai-我会用这些信息更新答案,这样它就在一个地方了。