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居中。啊,我明白了。误解-对不起,我不知道如何做你所寻求的。