我声明了以下 XAML:
<controls:PivotItem Header="map">
<my:Map x:Name="map"
CredentialsProvider="Hidden"
Mode="Road"
Center="{Binding AppState.MapCenter}"
ZoomLevel="15">
<my:Pushpin Location="{Binding AppState.MapCenter}" />
</my:Map>
</controls:PivotItem>
绑定(bind)工作正常 - 除了 map 没有保持居中(最初它使用 Center 属性上的绑定(bind)正确居中)。该应用程序允许用户浏览一系列具有不同地理坐标的记录。当这种情况发生时,绑定(bind)的图钉会适当移动,但最终它会移出 map ,因为 map 不会重新居中。如何使用数据绑定(bind)让 map 重新居中?
最佳答案
我找到了第二个更好的解决方案,可以实现数据绑定(bind)。我将 Center 的绑定(bind)模式设置为 TwoWay:
Center="{Binding MapCenter, Mode=TwoWay}"
这意味着我无法直接绑定(bind)到正在映射的记录上的地理坐标值(因为我不希望在通过平移移动 map 中心时更新该值)。相反,我必须在 View 模型中绑定(bind)一个单独的属性,当用户滚动数据时,我会使用所选记录中所需的地理坐标值不断更新该属性。
奇怪的是,Center 属性需要双向绑定(bind),而图钉在没有两次绑定(bind)的情况下工作正常。
关于xaml - Bing MapControl WP7 XAML 数据绑定(bind)中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7006927/