2011-01-11 115 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> 

如果如果你的图片的生成操作设置为内容,这是不工作检查。

花了我一会儿才弄清楚,所以我希望我可以帮助别人,尽管事实上这个线程是旧的。 ;)