这是一款简单的应用。它显示了基于数据绑定的动态多个图钉。
当用户点击图钉时,信息框将在图片中显示如上所示。
当用户再次点击图钉时。信息框将崩溃。
如果用户点击地图中不是图钉的任何区域。所有图钉的信息框都会崩溃。
另一件事是;当点击信息框时,它将导航到该位置的详细信息页面。
这是我的资源部分。
<phone:PhoneApplicationPage.Resources>
<ControlTemplate x:Key="currentPushPin" TargetType="my:Pushpin">
<Grid x:Name="ContentGrid"
Width="58"
Height="76"
Margin="0">
<Image Source="images/currentPin.png" Stretch="Fill"/>
</Grid>
</ControlTemplate>
<ControlTemplate x:Key="normalPushPin" TargetType="my:Pushpin">
<StackPanel>
<ContentPresenter x:Name="content" HorizontalAlignment="Center"/>
<Path Data="M0,0 L0,1 L1,0"
Fill="Black" Stretch="Fill" Margin="15,0" Height="12"
Width="18" Visibility="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Content.Visibility, Mode=TwoWay}" HorizontalAlignment="Left" />
<Image Source="images/Pin.png" Stretch="None" HorizontalAlignment="Left"/>
</StackPanel>
</ControlTemplate>
<DataTemplate x:Key="LogoTemplate">
<my:Pushpin Background="#FFB6DE2E" Location="{Binding location}" Tap="Pushpin_Tap">
<my:Pushpin.Content>
<Border Background="Black" Width="130" Visibility="Collapsed" x:Name="border" HorizontalAlignment="Center" >
<StackPanel>
<TextBlock TextAlignment="Center" Text="{Binding title}"/>
</StackPanel>
</Border>
</my:Pushpin.Content>
</my:Pushpin>
</DataTemplate>
</phone:PhoneApplicationPage.Resources>
这是我的Map和MapItemControl。
<my:Map ZoomLevel="10" Margin="0,-21,0,0" Name="myMap" CredentialsProvider="AsbJ8nhHrawCJNpgYLyPRSunojuLOKcZtMj_ZUEgEGW5dSsczqrQHDZwbi0i2bFY" Tap="map_Tap">
<my:Pushpin Name="currentPin" Template="{StaticResource currentPushPin}" Margin="0,-22,0,0">
</my:Pushpin>
<my:MapItemsControl ItemTemplate="{StaticResource LogoTemplate}" ItemsSource="{Binding PushpinCollection}" >
</my:MapItemsControl>
</my:Map>
问题是我应该在这些事件处理程序中编写什么代码? 另一个问题是,如果点击信息框,我怎么能让信息框导航到其他页面。
//Event Handler for pushpins
private void Pushpin_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
//What I should write here?
}
private void map_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
//What I should write here?
}
谢谢!!!
答案 0 :(得分:0)
我知道这已经很晚了,但是要为有类似问题的人省下一些痛苦 - 看看http://igrali.com/2012/01/07/show-a-tooltip-for-tapped-pushpin-on-windows-phone/
它可能会为您提供一些如何进行的指导。