Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 4.0 SL4:如何在不滚动画布的情况下更改比例?_Silverlight 4.0 - Fatal编程技术网

Silverlight 4.0 SL4:如何在不滚动画布的情况下更改比例?

Silverlight 4.0 SL4:如何在不滚动画布的情况下更改比例?,silverlight-4.0,Silverlight 4.0,我们有一个包含在scrollviewer中的大画布。用户可以通过鼠标拖动或使用滚动条移动画布。 如何在保持当前中心点的同时更改scrollviewer中的缩放(比例)? 我认为问题在于为ScaleTransform获取正确的CenterX和CenterY: var st = MapCanvas.RenderTransform as ScaleTransform; if (null != st) { st.CenterX =


我们有一个包含在scrollviewer中的大画布。用户可以通过鼠标拖动或使用滚动条移动画布。
如何在保持当前中心点的同时更改scrollviewer中的缩放(比例)?
我认为问题在于为ScaleTransform获取正确的CenterX和CenterY:

        var st = MapCanvas.RenderTransform as ScaleTransform;
        if (null != st)
        {
            st.CenterX = point.X;
            st.CenterY = point.Y;
            st.ScaleX = st.ScaleY = scale;
        }

感谢您提供的提示…

我已经有一段时间没有看转换了,但是您可能想尝试将MapCanvas的RenderTransferMorigin设置为
新点(0.5,0.5)
(或者将其设置为XAML)

谢谢您的回复,但这听起来好像会使scrollviewer中的画布居中,这不是我想要的。如果画布是1000 x 1000,画布坐标200,200在sv的中心,我想在比例改变时保持画布坐标200,200居中。啊,我明白了。误解-对不起,我不知道如何做你所寻求的。