BingMapControl WP7 XAML数据绑定中心
问题描述:
我有以下XAML声明:BingMapControl WP7 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>
的结合工作正常 - 除了地图不留中心(最初它中心使用正确的中心物业的结合)。该应用程序允许用户通过具有不同地理坐标的一系列记录进行移动。发生这种情况时,绑定的图钉会适当移动,但最终它会从地图上移开,因为地图不会重新居中。我怎样才能让地图通过数据绑定重新居中?
答
我发现了第二个更好的分辨率,可以启用数据绑定。我设置的结合模式为中心,双向:
Center="{Binding MapCenter, Mode=TwoWay}"
这意味着我不能直接绑定到我是映射记录会有地理座标值(因为我不想,如果我感动的是价值被更新地图中心通过平移)。相反,我必须在我的视图模型中拥有一个单独的属性,以便在用户滚动浏览数据时使用所选记录中所需的GeoCoordinate值进行更新。
奇怪的是,中心属性需要双向绑定,而图钉没有两个绑定工作正常。
答
在这个阶段,我发现的唯一的解决办法是,每次按以下步骤设置地图视图代码映射点的变化:
map.SetView(ViewModelLocator.AppStateStatic.MapCenter, 15);
我本来希望它与数据绑定工作。
尽管从文档中不是很清楚,但单向绑定似乎能够像OneTime绑定映射一样工作。你的解决方案有另一个中心读/写属性帮助我。 – Adarsha