2011-06-27 134 views
0

我在地图上有几个图钉。当我用鼠标悬停在图钉上时,我得到一个包含一些信息的对话框。现在我还想要一些额外的信息,当我点击相同的图钉。但我真的不知道如何做到这一点。我尝试了一些东西,但它没有工作......bing地图图钉和鼠标点击

这是我的代码:

<bing:MapItemsControl ItemsSource="{Binding Items}"> 
    <bing:MapItemsControl.ItemTemplate> 
     <DataTemplate> 
     <bing:Pushpin bing:MapLayer.Position="{Binding Location}" Background="{Binding Color, Converter={StaticResource brushConverter}}"> 

      <ToolTipService.ToolTip> 
       <StackPanel> 
       <TextBlock Text="{Binding Address}" /> 
       <TextBlock Text="{Binding Description}" /> 
       </StackPanel> 
      </ToolTipService.ToolTip> 

     </bing:Pushpin> 
     </DataTemplate> 
    </bing:MapItemsControl.ItemTemplate> 
    </bing:MapItemsControl> 
</bing:Map> 

曾有人试图这样做或不知道如何做到这一点,迄今为止的感谢!

+0

您应该只能使用模板绑定来覆盖默认值。在堆栈面板内添加你想要的任何额外内容。 – jstell

回答

0

我知道这是一个古老的问题,但也许它会点亮正确的解决方案,并帮助其他人,如果不是你。

据我所知,Tooltip的东西已经工作,你只是想处理点击。

因此,这里有一些建议:

1 - 新手解决方案: 可以办理后面从代码的事件。因为只有按钮有Click事件,所以你不能使用它,但我认为MouseLeftButtonDown或者更好的MouseLeftButtonUp对于这一点来说同样好。当然,如果你在不同的控件上有不同的地图,你将不得不在每一个控件上重复这些代码。

2 - 高级解决方案: Use Behaviors!它们就像可以紧贴控件并扩展其功能的微小扩展。在您的位置,我会在图钉上放置一个行为,这将打开一个面板以显示您想要的信息。您可以在上面的链接下阅读关于此主题的更多信息!