2011-01-11 116 views
2

我的最終目標是在WP7應用程序的Bing Map上使用自定義圖像的圖釘。我用圖釘創建了一個控件模板和地圖。現在,我可以看到默認的圖釘,但是當我嘗試模板時沒有顯示。這就是我現在所擁有的:WP7 Bing Maps帶圖像的圖釘模板不顯示

<phone:PhoneApplicationPage.Resources> 
    <ControlTemplate x:Key="PushpinControlTemplate" TargetType="my:Pushpin"> 
     <Image Source="/Images/Pins/pin.png" /> 
    </ControlTemplate> 
</phone:PhoneApplicationPage.Resources> 

<my:Map Name="mapMain" CredentialsProvider="CredKey"> 
    <my:Pushpin/> 
</my:Map> 

如果我申請了PushpinControl模板什麼也不顯示:

<my:Pushpin Template="{StaticResource BoaPushpinControlTemplate}" /> 

如果我刪除的模板,它顯示默認的黑色形狀。

我必須錯誤地做我的模板,但我不知道問題是什麼。我可以在ControlTemplate中沒有圖像嗎?

+0

叫我先生傻,但只是爲了論證的緣故,試着指定文字座標,看看有沒有什麼東西出現在那裏。我有一些奇怪的行爲,引腳不能工作,除非它們用文字初始化(我在代碼中設置位置以響應用戶操作)。 – 2011-06-07 06:37:16

回答

1

如果您的arent使用的ItemSource在地圖上綁定,然後使用簡單的內容控制方法

<maps:Pushpin Location="{Binding Location}"> 
      <Image Source="/Images/Pins/pin.png" /> 
    </maps:Pushpin> 

或者,如果您動態填充推針使用下面的方法

<maps:Map x:Name="map" > 
    <maps:MapItemsControl ItemsSource="{Binding Collection}"> 
     <maps:MapItemsControl.ItemTemplate> 
      <DataTemplate> 
       <maps:Pushpin Location="{Binding Location}"> 
        <Image Source="/Images/Pins/pin.png" /> 
       </maps:Pushpin> 
      </DataTemplate> 
     </maps:MapItemsControl.ItemTemplate> 
    </maps:MapItemsControl> 
</maps:Map> 
+0

好的想法,但它不是問題。我添加了高度和寬度,但仍然不可見。 – CACuzcatlan 2011-01-11 03:24:33

1

即使這個線程是有點老我要發佈我的建議:

嘗試此鏈接Working with Pushpins,它是爲我工作(創建一個新的風格和你它在圖釘聲明)

(App.xaml,不要忘記命名空間!

xmlns:m="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps" > 

<Application.Resources>  
    <Style TargetType="m:Pushpin" x:Key="PushpinStyle"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="m:Pushpin"> 
        <Image Width="24" Height="24" Source="path_to_pic" /> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

(在XAML中存在的地圖)

<Grid x:Name="LayoutRoot" Background="Transparent"> 
    <m:Map x:Name="Map" Mode="Aerial" 
       CredentialsProvider="CredKey"> 
     <m:MapItemsControl x:Name="Content"> 
      <m:MapItemsControl.ItemTemplate> 
       <DataTemplate> 
        <m:Pushpin Location="{Binding Location}" Style="{StaticResource PushpinStyle}" /> 
       </DataTemplate> 
      </m:MapItemsControl.ItemTemplate> 
     </m:MapItemsControl> 
    </m:Map> 
</Grid> 

如果如果你的圖片的生成操作設置爲內容,這是不工作檢查。

花了我一會兒才弄清楚,所以我希望我可以幫助別人,儘管事實上這個線程是舊的。 ;)