如何获得MapElement类型(MapControl) (Windows 10通用应用程序)

本文关键字:Windows 应用程序 10通 MapControl 何获得 MapElement 类型 | 更新日期: 2023-09-27 18:17:13

对于新的Windows 10 Family设备,visual studio开始有一个新的事件处理程序。MapElementClickEventArgs,它允许开发人员从选中的MapElement中获取操作,但我想为选择的每种类型的MapElement提供不同的操作。例如:一个用于MapIcons的动作和一个用于MapPolygons的不同动作

有人知道我怎么不能得到实体的类型敲击?

这是这个处理程序的模型:

private void MapControl1_MapElementClick(MapControl sender, MapElementClickEventArgs args) { }

如何获得MapElement类型(MapControl) (Windows 10通用应用程序)

在Windows 10地图控件中,将返回与您单击地图的位置相交的所有mapelement数组。如果循环遍历每个元素,可以使用"is"关键字检查它是MapIcon还是其他MapElement。以下是您的代码的扩展版本:

private void MapControl1_MapElementClick(MapControl sender, MapElementClickEventArgs args)
{
    foreach (var e in args.MapElements)
    {
        if (e is MapPolygon)
        {
            var poly = e as MapPolygon;
            //Is MapPolygon
        }
        else if (e is MapPolyline)
        {
            var poly = e as MapPolyline;
            //Is MapPolyline
        }
        else if (e is MapIcon)
        {
            var icon = e as MapIcon;
            //Is MapIcon
        }
    }
}