【问题标题】:Zoom in out on mouse click Silverlight 2.0鼠标点击放大 Silverlight 2.0
【发布时间】:2010-10-27 09:24:52
【问题描述】:

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

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

请帮忙!

谢谢 赛

【问题讨论】:

    标签: silverlight silverlight-2.0


    【解决方案1】:

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

    RenderTransformOrigin 的值根据 UIElement 边界框的左上角进行评估。

    您需要将鼠标位置转换为图像的坐标以获得正确的原点并标准化值,以便通过将位置除以图像的尺寸使它们在 0 到 1 的范围内。

    【讨论】:

    • 谢谢 Chris.. 我在 mouseleftbuttondown 事件中使用了 e.getposition(sender) 并将其分配给 RenderTransformOrigin 并且一切都变为空白.. 不知道为什么?
    • @Sai - 调试代码并检查值以确保它们是合理的。你可能不得不否定这些值(例如),但我自己永远记不住这些东西,所以我总是检查。
    • 我直接将 e.getposition(sender) 分配给 RenderTransformOrigin 这是不正确的,我应该通过将位置除以尺寸来将值从 0 标准化为 1。这样做之后,我得到了它的工作。谢谢。
    • @Sai - 我将使用该信息更新答案,以便将其放在一个位置。
    猜你喜欢
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多