2010-11-28 53 views
1

以下是我對Bing Maps Silverlight天氣相關實現的XAML代碼。Bing地圖(Silverlight)地圖 - 通過XAML將畫布指定爲前景

這就是我要做的:

  1. 有一個Bing地圖與一些(超過100)pushpins-鼠標懸停 - 顯示低於contentpopup(帆布= myPopup)。夠簡單。
  2. 一切工作正常 - 但是,當mypopup顯示在鼠標懸停時,它不在前臺(其他引腳出現在contentpopup頂部) - 因此使其不太可讀。

問:

我如何specifiy下面總是出現在前景中的XAML指定的myPopup畫布,即最頂端,當用戶查看它在鼠標懸停在Bing地圖Silverlight控件。

謝謝!


<Grid x:Name="LayoutRoot" Background="White"> 
    <m:Map x:Name="GlobalMap" Mode="Road" Center="15,7" ZoomLevel="2" CredentialsProvider="{StaticResource MyCredentials}" Margin="-70,-40,-100,-72"> 

     <m:MapLayer x:Name="myLayer"> 
      <Canvas x:Name="myPopup" Visibility="Collapsed" Opacity="1"> 
       <Rectangle x:Name="myPopupRectangle" Fill="White" Canvas.Left="0" Canvas.Top="0" Height="100" 
          Width="100" RadiusX="15" RadiusY="15"/> 
       <StackPanel Canvas.Left="8" Canvas.Top="8"> 
        <TextBlock x:Name="myPopupTexts" FontSize="5" Width="100"> 
        </TextBlock> 

       </StackPanel> 
      </Canvas> 
     </m:MapLayer> 
    </m:Map> 
</Grid> 

回答

0

我做了一些與此類似,但採取了不同的方法。我所做的是創建一個自定義圖釘模板並在模板中創建一個PopUp。

當用戶將鼠標懸停在圖釘上時,會顯示彈出窗口。 使用PopUp可以解決您的問題,因爲控制系統會自動將其置於之上。嘗試將Canvas包裝在PopPup中,看看是否可行。

心連心

+0

感謝您的回覆。自定義圖釘彈出窗口不能處理html標籤(我將其作爲Canvas的一部分顯示)..以便選項不會滿足我的需求。我希望畫布上有一個屬性,它總是顯示在最前面/前景(在其他所有內容之上)。 – Simba 2010-11-29 02:55:08

1

嘗試增加Canvas.ZIndexMapLayer元素,給它一個很大的值像200或者添加您的圖釘到另一個MapLayer(而不是直接添加引腳映射)出現的這種超前按文檔順序彈出層。