首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WP7图钉工具提示/气泡

WP7图钉工具提示/气泡
EN

Stack Overflow用户
提问于 2010-11-22 22:30:03
回答 4查看 6.2K关注 0票数 2

我正在将一个iPhone应用程序移植到WP7,其中包含一个带有几个标记/图钉的地图,这些标记/图钉是我从WP7服务中获得的(位置、图标和标题)。

我已经设置了显示地图所需的XAML以及图钉的一些代码:

代码语言:javascript
复制
<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中没有类似的控件来创建一个气泡--我该如何去创建类似的东西呢?

提前谢谢你,

亚历克斯

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-23 17:22:21

您可以简单地在LayoutRoot中放置一个带有Visibility=“折叠”的方形边框,然后当您单击您的图钉时,您将更新它的内容并使其可见。

只需确保将其放在您的地图控件之后(否则它将呈现在地图后面,因此将不可见)。

票数 4
EN

Stack Overflow用户

发布于 2012-06-22 17:43:15

要实现这一点,最简单的方法是在Tap上显示/隐藏Pushpin的内容,而不是MouseLeftButtonUp,这是出于一些性能考虑。

代码语言:javascript
复制
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;   
}
票数 2
EN

Stack Overflow用户

发布于 2010-11-23 02:18:45

您可以创建自定义弹出窗口。

here上有一个很棒的视频,它解释了如何做到这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4246442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档