gpt4 book ai didi

c# - 图钉调整大小绑定(bind) zoomlevel

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:30 27 4
gpt4 key购买 nike

我将 WinRT 与 bing map 一起使用,并且我试图在 map 上缩放时(以编程方式)设置图钉的 RenderTransform 值。我试过这个 Solution但 Windows 8 控件似乎不支持绑定(bind)到 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;
}
}

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

关于c# - 图钉调整大小绑定(bind) zoomlevel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17177352/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com