问题描述
双击 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;
}
}