这是 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个问题:
有很多图钉它变得非常慢,我相信这是由于模板选择。
我希望它与众不同。我想创建“IsSelected”属性,以便所有图钉在所有缩放级别上都是相同的,但是当用户单击图钉时 - 它的大小会扩大。
我想知道如何编码“选择”部分。我希望一次只选择一个图钉。我可以绑定到属性并使图钉部分可见/不可见,但我不确定如何编写“选择”部分。应该是按钮吗?