这是我的情景。使用Bing Map控件(MVVM):
<m:Map x:Name="MainMap"
ZoomLevel="{Binding MapZoomLevel, Mode=TwoWay}"
Center="{Binding MapCenter, Mode=TwoWay}"
LogoVisibility="Collapsed"
CopyrightVisibility="Collapsed"
CredentialsProvider="{Binding BingApiKey}"
UseInertia="True"
Mode="Road" Grid.Column="2" Grid.RowSpan="5">
<m:MapItemsControl
ItemsSource="{Binding Source={StaticResource WorkLayerData}}">
<m:MapItemsControl.ItemTemplate>
<DataTemplate>
<Border m:MapLayer.Position="{Binding Location}"
Background="LightPink" BorderBrush="Black">
<TextBlock Text="{Binding DisplayId}" />
</Border>
</DataTemplate>
</m:MapItemsControl.ItemTemplate>
</m:MapItemsControl>
</m:Map>
在底部,您只需使用Border和TextBlock声明DataTemplate
即可看到我如何绑定“自定义”图钉。
我想要的是为同一个项目声明3个模板,并根据ZoomLevel
MainMap
属性选择它们
例如,当ZoomLevel&lt; = 3时,我将显示小点,当它在3到8之间时,我将显示更多带有ID的花式图钉,当它为8+时,我可能会显示更多信息。
这是一个简单的想法,但我想知道是否可能......