C# 基于父属性切换模板。可能的

C# 基于父属性切换模板。可能的,c#,silverlight,xaml,mvvm,bing-maps,C#,Silverlight,Xaml,Mvvm,Bing Maps,这是我的设想。使用Bing地图控件(MVVM): 在底部,您可以看到我如何通过使用边框和文本块声明DataTemplate来绑定我的“自定义”图钉 我想要的是为同一个项目声明3个模板,并根据MainMap 例如,当ZoomLevel查看Silverlight的解决方案时 <m:Map x:Name="MainMap" ZoomLevel="{Binding MapZoomLevel, Mode=TwoWay}" Center="{Bind

这是我的设想。使用Bing地图控件(MVVM):


在底部,您可以看到我如何通过使用边框和文本块声明
DataTemplate
来绑定我的“自定义”图钉

我想要的是为同一个项目声明3个模板,并根据
MainMap

例如,当ZoomLevel查看Silverlight的解决方案时

<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>