我有以下xaml用于MS Bing Maps控件。 ZoomLevel绑定到ViewModel上名为“ ZoomLevel”的属性。

<Microsoft_Phone_Controls_Maps:Map x:Name="routeMap"
                                   ZoomLevel="{Binding ZoomLevel}"
                                   Center="{Binding CurrentMapCenterPoint, Mode=TwoWay}"
                                   AnimationLevel="UserInput"
                                   HorizontalContentAlignment="Stretch"
                                   VerticalContentAlignment="Stretch">


现在,当第一次显示地图时,缩放级别是正确的-可以从ViewModel进行设置,但是当用户更改分辨率然后进行另一次搜索并且ViewModel中的ZoomLevel属性更改时,它不会在视图-仍在使用旧的缩放级别。

有什么想法为什么在渲染了Bing Maps控件后无法从ViewModel更改ZoomLevel?

最佳答案

答案是对ZoomLevel属性进行两种绑定:

<Microsoft_Phone_Controls_Maps:Map x:Name="routeMap"
                                   ZoomLevel="{Binding ZoomLevel, Mode=TwoWay}"
                                   Center="{Binding CurrentMapCenterPoint, Mode=TwoWay}"
                                   AnimationLevel="UserInput"
                                   HorizontalContentAlignment="Stretch"
                                   VerticalContentAlignment="Stretch">

10-08 11:25