C# 使用ScrollViewer收缩缩放

C# 使用ScrollViewer收缩缩放,c#,xaml,windows-phone-8,zooming,scrollviewer,C#,Xaml,Windows Phone 8,Zooming,Scrollviewer,我在MVVM环境中使用ScrollViewer浏览欧洲地图。但是当我使用ScrollViewer时,DeltaEventArgs.Pinchmanipulation操作的deltaScale不起作用。不管发生什么,DeltaScale都保持在1。我试着看一看Pinchmanipulation的当前版本和原始版本,它们是相同的。那么有谁能帮我在使用scrollViewer时实现缩放呢 操纵增量为: public void Zoom(ManipulationDeltaEventArgs e)

我在MVVM环境中使用ScrollViewer浏览欧洲地图。但是当我使用ScrollViewer时,DeltaEventArgs.Pinchmanipulation操作的deltaScale不起作用。不管发生什么,DeltaScale都保持在1。我试着看一看Pinchmanipulation的当前版本和原始版本,它们是相同的。那么有谁能帮我在使用scrollViewer时实现缩放呢

操纵增量为:

public void Zoom(ManipulationDeltaEventArgs e)
    {
        if (e.PinchManipulation == null)
        {
            return;
        }



    }

我认为scrollviewer不支持在WindowsPhone8中放大。现在只有Windows应用商店应用程序可以执行此操作

基本上得出了相同的结论,但是您知道如何使用scrollviewer解决并实现缩放功能吗?这有点棘手,但我在scrollviewer中使用ViewportControl(而不是ViewBox)。scrollviewer必须将其操纵模式设置为Control。这就是为什么它很棘手:如果ViewboxControl的内容大于ViewboxControl标注(可见部分),则ViewboxControl将吞并所有操纵事件。如果您正在缩放,这很好。ViewboxControl将充当您的ScrollViewer。如果不进行缩放,则需要确保ViewboxControl与其内容的大小相同,以便它将操纵事件传递给ScrollViewer。我忘了提到,您需要使用ScrollViewer/ViewportControl中用作基础的任何控件来实现自己的收缩/缩放。搜索基本镜头示例并查看内部的MediaViewer控件。这可能会给你一些线索。再想一想,也许您应该忘记Scrollviewer,只使用ViewportControl。我的实现有点太具体了。