地図コントロールにいくつかの押しボタンがあります。私はそれを無効にするために、ユーザーが地図内をナビゲートすることを望んでいない。しかし、私はユーザーがPushpinをタップすることができるようにしたい(と私は詳細ページに移動するイベントで)。固定地図での押し込みの処理
ただし、Map.IsEnabledがfalseの場合、Pushpinsはジェスチャを受け取っていないようです。私はまた、IsHitTestVisibleを使ってみましたが、運がありません。
私が何をしようとしているかを示すコード。誰にもアイデアはありますか? false
からIsEnabled
の設定
<maps:Map Name="Map"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
CopyrightVisibility="Collapsed" LogoVisibility="Collapsed" ScaleVisibility="Collapsed" ZoomBarVisibility="Collapsed"
IsEnabled="False">
<maps:MapItemsControl ItemsSource="{Binding TheCollection}">
<maps:MapItemsControl.ItemTemplate>
<DataTemplate>
<maps:Pushpin Name="Pin" Location="{Binding Coordinate}" Content="{Binding Ix}">
<maps:Pushpin.Background>
<SolidColorBrush Color="{StaticResource PhoneAccentColor}"/>
</maps:Pushpin.Background>
<toolkit:GestureService.GestureListener>
<toolkit:GestureListener Tap="PinTap" />
</toolkit:GestureService.GestureListener>
</maps:Pushpin>
</DataTemplate>
</maps:MapItemsControl.ItemTemplate>
</maps:MapItemsControl>
</maps:Map>
私はそれを試みます。そして、はい、プッシュピンは地図の外で動作します。私はそれを付随するListBoxで使用して、リストとマップ内の項目の「見た目」を同じにします。 – Ostemar
"すべてのジェスチャーイベントを処理"する方法に関するアイデア。私は操作[Started、Delta、Completed]とMouseLeftButton [Down、Up]を処理し、e.Handledをtrueに設定しました。それらは助けにならない。もう私は何かをするべきですか? – Ostemar
「TouchPan」、「TouchRotate」、および「TouchZoom」が最も候補者です。イベントの完全な一覧は、http://msdn.microsoft.com/en-us/library/microsoft.maps.mapcontrol.map_events.aspxを参照してください。正直言って、インタラクティブなレイヤーを持つ読み取り専用マップが必要な場合は、 'WriteableBitmap'アプローチを使う方が良いと思います。 –