0

シンプルなアプリです。データバインディングに基づく動的な複数の画鋲を示しています。

ユーザーが画鋲をタップすると、情報ボックスが写真のように上に表示されます。

ここに画像の説明を入力してください

ユーザーが画鋲をもう一度タップしたとき。インフォボックスは折りたたまれます。

そして、ユーザーが画鋲ではないマップ内の任意の領域をタップした場合。すべての画鋲のインフォボックスは折りたたまれます。

もう1つは; インフォボックスをタップすると、その場所の詳細ページに移動します。

これは私のリソースセクションです。

<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>

問題は、これらのイベントハンドラーにどのコードを書くべきかということです。もう1つの質問は、インフォボックスがタップされた場合に他のページに移動する方法です。

//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?
    }

ありがとう !!!

4

1 に答える 1

0

私はこれがかなり遅いことを知っていますが、同様の問題を抱えている人々の苦痛を和らげるために、http://igrali.com/2012/01/07/show-a-tooltip-for-tapped-pushpin-on をご覧ください。 -ウインドウズの電話/

進め方のヒントになるかもしれません。

于 2013-10-23T15:49:45.807 に答える