2010-10-27 181 views
0

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

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

请帮忙!

感谢 西

回答

0

您需要设置基于鼠标位置RenderTransformOrigin财产。

RenderTransformOrigin的值将针对UIElement的边界框的左上角进行评估。

您需要将您的鼠标位置转换为图像的坐标以获得正确的起源和使他们的范围是0到1除以图像的尺寸位置标准化值。

+0

谢谢克里斯..我已经在mouseleftbuttondown事件中使用e.getposition(发件人),并将其分配给RenderTransformOrigin,一切都变成空白..不知道为什么? – Sai 2010-10-27 10:07:57

+0

@Sai - 调试代码并检查值以确保它们是合理的。您可能必须否定这些值(例如),但我无法自己记住这些事情,所以我经常检查。 – ChrisF 2010-10-27 10:23:41

+0

我直接将e.getposition(发送者)分配给RenderTransformOrigin,这是不正确的,我应该通过将位置除以维度将值从0归一化为1。这样做后,我得到了它的工作。谢谢。 – Sai 2010-10-27 10:33:05