2012-12-07 47 views
1

这是Silverlight的更多XAML问题。在Bing地图(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个问题:

  1. 有很多图钉得到它的很慢,我相信这是由于模板选择。我想让它不同。我想创建“IsSelected”属性,所有图钉上的所有图钉都是相同的,但是当用户点击图钉时 - 它的尺寸会扩大。

我不知道如何编码“选择”部分。我只想在一次选择一个图钉。我可以绑定到属性,并使图钉零件可见/不可见,但我不知道如何编码“选择”一块。它应该是Button吗?

回答

0

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

干杯 马克