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”属性,以便所有图钉在所有缩放级别上都是相同的,但是当用户单击图钉时 - 它的大小会扩大。

我想知道如何编码“选择”部分。我希望一次只选择一个图钉。我可以绑定到属性并使图钉部分可见/不可见,但我不确定如何编写“选择”部分。应该是按钮吗?

4

1 回答 1

0

在做一个 Windows 手机应用程序时,我遇到了许多引脚导致“滞后”的问题,最简单的解决方法是仅在地图中心的某个半径内显示引脚,并移除其他引脚,直到它们进入半径。

干杯马克

于 2012-12-07T11:53:21.903 回答