图钉调整绑定缩放级别

本文关键字:缩放 绑定 调整 | 更新日期: 2023-09-27 18:19:00

我正在使用WinRT与必应地图,我试图设置(编程)我的图钉缩放地图时的RenderTransform值。我尝试了这个解决方案,但似乎Windows 8控件不支持绑定到ZoomLevel属性。有人有任何变通或工作的例子吗?提前致谢

图钉调整绑定缩放级别

我在这里发布了一个例子,如果需要的话,可以从其他人那里使用。利用你的建议使用"ViewChanged"事件,我写了这个代码片段:

    private double Interpolate(double x0, double y0, double x1, double y1, double x)
    {
        return y0 * (x - x1) / (x0 - x1) + y1 * (x - x0) / (x1 - x0);
    }
    private void mapZoom_Event(object sender, ViewChangedEventArgs e)
    {
        double scale;
        foreach (Pushpin currentPin in currentPins)
        {
            double zoom = Map.ZoomLevel;
            scale = interpolate(10, 1 / 2, 18, 3, zoom);
            if (scale < 1)
                scale = 1;
            ScaleTransform pushpinsScaleTransform = new ScaleTransform()
            {
                ScaleX = scale,
                ScaleY = scale
            };
            currentPin.RenderTransform = pushpinsScaleTransform;
        }
    }

where currentPins是Map中的IEnumerable。Interpolate方法是一个简单的线性函数,它应该线性缩放图钉的大小。

OK resolve:我只是关联了更新缩放级别的ViewChanged事件在这个函数中我创建了RenderTransform属性并将其关联到Pushpin