2011-06-27 216 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!它們就像可以緊貼控件並擴展其功能的微小擴展。在您的位置,我會在圖釘上放置一個行爲,這將打開一個面板以顯示您想要的信息。您可以在上面的鏈接下閱讀關於此主題的更多信息!