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

C# 如何获取MapElement类型(MapControl)(Windows 10通用应用程序),c#,.net,bing-maps,win-universal-app,C#,.net,Bing Maps,Win Universal App,有了新的Windows 10系列设备,visual studio开始有一个新的事件处理程序。MapElementClickEventArgs允许开发人员从点击的MapElement获取操作,但我想为所选的每种MapElement类型提供不同的操作。例如:MapIcons的操作和MapPolygons的不同操作 有人知道我怎么不能得到实体的类型 这是此处理程序的模型: 私有void MapControl1\u MapElement单击MapControlSender,MapElement单击事件参

有了新的Windows 10系列设备,visual studio开始有一个新的事件处理程序。MapElementClickEventArgs允许开发人员从点击的MapElement获取操作,但我想为所选的每种MapElement类型提供不同的操作。例如:MapIcons的操作和MapPolygons的不同操作

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

这是此处理程序的模型:

私有void MapControl1\u MapElement单击MapControlSender,MapElement单击事件参数 {
}

在Windows 10地图控件中,将返回与单击地图的位置相交的所有地图元素的数组。如果循环遍历每个元素,可以使用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
        }
    }
}