【发布时间】:2012-03-23 10:43:15
【问题描述】:
我在应用程序中使用 Silverlight Bing 地图控件。在地图上托管了一个带有各种 UIElement 的画布。
我目前观察到的一个问题是地图鼠标按下可以正确平移地图,除非鼠标按下源自UIElement(有问题的元素是 MapPolyLine)。
使用以下代码将 UIElements 添加到地图中
var outlineBottom = new MapPolyline {
Stroke = new SolidColorBrush(bottomColor),
StrokeThickness = width * TrailBottomLineWidthMultiplier,
Opacity = 1, //opacity,
StrokeMiterLimit = 1,
Locations = locations
};
这会在地图中添加一条粗细约为 5px 的折线。当用户在地图上按下鼠标但鼠标指针在线上时,不能平移。
如何阻止 MapPolyline 吞噬鼠标事件,以便平移地图?
【问题讨论】:
-
你试过 UIElement.IsHitTestVisible 吗?
-
好的 - 我会添加作为答案 - 赚取我的积分 ;-)
-
嗯,没有变化。 SilverlightSpy 报告 MapPolyLine 具有 IsHitTestVisible=true,即使在以编程方式将其设置为 false 后也是如此。 MapPolyLine 也有一个内部 PolyLine,它具有 IsHitTestvisible=True(我不确定我是否可以从 API 访问它)
-
@ColinE 我的错误,它确实有效,是在测试错误的元素。谢谢!
标签: silverlight mouseevent bing-maps uielement