我正在尝试将MapIcon添加到我的Bing地图控件中。在Visual Studio的调试环境中运行应用程序时,没有任何问题。但是,一旦我构建了应用程序包并运行它,添加地图图标就会使应用程序崩溃,并引发此异常,内容为:
“无法将类型为Windows.UI.Xaml.Controls.Maps.MapIcon的对象强制转换为类型为Windows.UI.Xaml.Controls.Maps.IMapElement4”
这是实例化MapIcon的简单代码。重要的是要知道我在调试模式下添加这些映射图标没有任何问题。仅在构建并运行应用程序包后,问题才会存在。在发布的应用程序运行时,我可以使用try / catch来显示异常,从而查明异常。如果有人可以帮助我摆脱此异常,或者有任何建议可以解决,那么将不胜感激
MapIcon messageicon2_2 = new MapIcon
{
Location = message_position,
NormalizedAnchorPoint = new Point(0.5, 1.0),
ZIndex = 0,
Title = "msg " + count + "(2.2)",
IsEnabled = true,
CollisionBehaviorDesired = MapElementCollisionBehavior.RemainVisible
};
MyWaypoints.Add(messageicon2_2);
messageLayer.MapElements = MyWaypoints;
[澄清说明]:我知道此错误专门来自Mapicon的实例化。该代码在Windows 10 17134计算机上发布并在Windows 10 17134计算机上运行时可以正常工作。...我需要它运行的计算机是Windows 1016299。该计算机无法更新为Windows的较新版本。我需要一种在旧版Windows上显示这些地图图标的方法。
答案 0 :(得分:1)
异常指向Windows OS版本1803(17134)已添加到IsEnabled
的{{1}}属性。参见MapElement.IsEnabled Property。
我知道例外不是最有帮助的,但是也许还有其他关于它的警告被遗漏了?
对于这样的错误,您可以删除缺少的API的所有使用,和/或确保编写可以在最低OS版本上运行的version adaptive code,同时还可以利用可用的选定功能仅在某些操作系统版本上。
具体来说,您可以执行以下操作:
MapElement