我正在将一个iPhone应用程序移植到WP7,其中包含一个带有几个标记/图钉的地图,这些标记/图钉是我从WP7服务中获得的(位置、图标和标题)。
我已经设置了显示地图所需的XAML以及图钉的一些代码:
<phone:PhoneApplicationPage.Resources>
<ControlTemplate x:Key="customPushpin" TargetType="my:Pushpin">
<Image Height="39" Source="Resources/Icons/Pushpins/pinGreen.png" Stretch="Fill" Width="32"/>
</ControlTemplate>
</phone:PhoneApplicationPage.Resources>
<Grid x:Name="LayoutRoot" Background="Transparent">
<my:Map Height="Auto" HorizontalAlignment="Stretch" Margin="0" x:Name="Map"
VerticalAlignment="Stretch" Width="Auto" CredentialsProvider="{Binding CredentialsProvider}"
CopyrightVisibility="Collapsed" LogoVisibility="Collapsed" Center="{Binding Mode=TwoWay, Path=Center}"
ZoomBarVisibility="Visible"
ZoomLevel="{Binding Zoom, Mode=TwoWay}">
<my:MapItemsControl ItemsSource="{Binding Pushpins}">
<my:MapItemsControl.ItemTemplate>
<DataTemplate>
<my:Pushpin MouseLeftButtonUp="Pushpin_MouseLeftButtonUp"
Location="{Binding Location}"
Template="{StaticResource customPushpin}">
</my:Pushpin>
</DataTemplate>
</my:MapItemsControl.ItemTemplate>
</my:MapItemsControl>
</my:Map>
</Grid>我正在寻找一种方法来添加某种气泡时,用户点击图钉。我看过一些信息框/工具提示,但由于它们在悬停时起作用,这不是我可以在手机上使用的东西(点击/点击)。
我猜在WP7中没有类似的控件来创建一个气泡--我该如何去创建类似的东西呢?
提前谢谢你,
亚历克斯
发布于 2010-11-23 17:22:21
您可以简单地在LayoutRoot中放置一个带有Visibility=“折叠”的方形边框,然后当您单击您的图钉时,您将更新它的内容并使其可见。
只需确保将其放在您的地图控件之后(否则它将呈现在地图后面,因此将不可见)。
发布于 2012-06-22 17:43:15
要实现这一点,最简单的方法是在Tap上显示/隐藏Pushpin的内容,而不是MouseLeftButtonUp,这是出于一些性能考虑。
void pushPin_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
this.border.Visibility = System.Windows.Visibility.Visible;
//stop the event from going to the parent map control
e.Handled = true;
}
private void map_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
this.border.Visibility = System.Windows.Visibility.Collapsed;
}发布于 2010-11-23 02:18:45
您可以创建自定义弹出窗口。
here上有一个很棒的视频,它解释了如何做到这一点。
https://stackoverflow.com/questions/4246442
复制相似问题