禁用双击 Bing Map WPF 控件

问题描述

双击 wpf bing 地图控件的认行为是放大。我有一个响应双击的路径对象的地图层。我希望地图控件停止处理此事件。 有没有办法在 wpf bing 地图控件上禁用鼠标双击处理程序?

解决方法

当地图预期使用 PreviewMouseDoubleClick 事件进行双击时,您将需要监视缩放级别。当此事件触发时,您将需要捕获当前缩放级别并监视 ViewChangeOnFrame 事件。然后 ViewChangeOnFrame 触发您将地图缩放级别设置为最后捕获的缩放级别。然后,您还需要监视将删除 ViewChangeOnFrame 事件的 MouseUp 事件。

private double zoom;

MyMap.PreviewMouseDoubleClick += (s,e) =>
{
    zoom = MyMap.ZoomLevel;
    MyMap.ViewChangeOnFrame += MyMap_ViewChangeOnFrame;
};

MyMap.MouseUp += (s,e) =>
{
    MyMap.ViewChangeOnFrame -= MyMap_ViewChangeOnFrame;
};

private void MyMap_ViewChangeOnFrame(object sender,MapEventArgs e)
{
    if (MyMap.ZoomLevel != zoom)
    {
        MyMap.ZoomLevel = zoom;
    }
}