1

これは、Silverlightに関するXAMLの質問です。

<Mobile:DevicePushpinTemplateSelector 
                            m:MapLayer.Position="{Binding Location}" 
                            ZoomLevel="{Binding ZoomLevel, ElementName=MainMap}" 
                            Content="{Binding}">
                            <Mobile:DevicePushpinTemplateSelector.DotTemplate>
                                <DataTemplate>
                                    <Ellipse Width="8" Height="8" Stroke="Black" Fill="{Binding IsGPSDataRecent, Converter={StaticResource BoolToGreenRedBrushConverter}}" StrokeThickness="1">
                                        <ToolTipService.ToolTip>
                                            <TextBlock Text="{Binding DisplayId}" />
                                        </ToolTipService.ToolTip>
                                    </Ellipse>
                                </DataTemplate>
                            </Mobile:DevicePushpinTemplateSelector.DotTemplate>
                            <Mobile:DevicePushpinTemplateSelector.NumberedTemplate>
                                <DataTemplate>
                                    <Border x:Name="border" Background="{Binding IsGPSDataRecent, Converter={StaticResource BoolToGreenRedBrushConverter}}" BorderBrush="Black" BorderThickness="2" Padding="2" Height="20" CornerRadius="8">
                                        <TextBlock  VerticalAlignment="Center" Text="{Binding DisplayId}" />
                                    </Border>
                                </DataTemplate>
                            </Mobile:DevicePushpinTemplateSelector.NumberedTemplate>
                        </Mobile:DevicePushpinTemplateSelector>

上記のXAMLには、マップのズームレベルに基づいた2つの異なるテンプレートがあります。ズームアウトすると楕円が小さくなり、ユーザーがズームアウトすると画鋲のサイズが大きくなります。

2つの問題:

  1. 画鋲がたくさんあるので本当に遅いですが、テンプレートの選択が原因だと思います。

  2. 違って欲しいです。「IsSelected」プロパティを作成して、すべての画鋲がすべてのズームレベルで同じになるようにしますが、ユーザーが画鋲をクリックするとサイズが拡大します。

「選択」部分をどのようにコーディングすればよいのでしょうか。一度に1つの画鋲だけを選択したい。プロパティにバインドして画鋲の部分を表示/非表示にすることはできますが、「選択」部分をコーディングする方法がわかりません。それはボタンである必要がありますか?

4

1 に答える 1

0

Windows Phone アプリを実行しているときに、多くのピンが原因で「ラグ」が発生するという問題がありました。最も簡単な方法は、マップの中心の特定の半径内のピンのみを表示し、半径に入るまで他のピンを削除することです。

乾杯マーク

于 2012-12-07T11:53:21.903 に答える