2013-03-15 99 views
1

[VB2012]我使用以下代码反复添加从数据库图钉Bing地图WPF MapLayer(毫升):的AddHandler用于Bing地图图钉

Dim pp As New Pushpin() 
pp.Location = New Location(utm.Latitude.GetDecimalCoordinate, utm.Longitude.GetDecimalCoordinate) 
pp.PositionOrigin = PositionOrigin.BottomCenter 
pp.Content = PinLabel 
pp.ToolTip = PinLabel 
pp.FontSize = 6.0R 
' need to put an AddHandler in here 
ml.Children.Add(pp) 

图钉被添加并在maplayer显示。我不明白的是如何为每个图钉添加AddHandler,以便确定何时点击图钉。我真的很感谢一些见解。我只是没有从我找到的在线示例中得到我需要做的。

+0

如果您输入Addhandler pp。是否有在该对象的intellisense中弹出的任何事件?它是在这个网站上的这个对象 - http://msdn.microsoft.com/en-us/library/gg427615.aspx? – OneFineDay 2013-03-16 00:10:25

+0

除了我们需要WPF版本外,这是正确的类。 AddHandler pp没有任何用处,但pp有一个内置的AddHandler。 pp.AddHandler(routedEvent为System.RoutedEvent,处理程序为System.Delgate)。我被这个routedevent弄糊涂了。我如何实现这一点? – 2013-03-16 11:31:16

+1

在WPF中,Addhandler语句与其他VB.Net应用程序中的构造相同。 'Addhandler pp.Click,AddressOf pp_click'。您必须使用与事件匹配的签名来创建子例程。 – OneFineDay 2013-03-16 14:19:20

回答

1

在WPF中,Addhandler语句与其他VB.Net应用程序中的结构相同。由于所有的图钉都被路由到这个事件,所以发件人对象会给你一个正确的。

Addhandler pp.MouseDown, AddressOf pp_MouseDown 

您必须制作与例程匹配的子程序。

Private Sub pp_MouseDown(sender As Object, e As RoutedEventArgs) 
    'sender is the PushPin in question 
    Dim pp as PushPin = DirectCast(sender, PushPin) 
End Sub 
相关问题