dav*_*ywc 2 data-binding xaml bing-maps windows-phone-7
我声明了以下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>
Run Code Online (Sandbox Code Playgroud)
绑定工作正常 - 除了地图不保持居中(最初它使用Center属性上的绑定正确居中).该应用程序允许用户浏览具有不同GeoCoordinates的一系列记录.当发生这种情况时,绑定的Pushpin会相应地移动,但最终会从地图移开,因为地图不会重新居中.如何使用数据绑定使地图重新居中?
我找到了第二个更好的分辨率,可以实现数据绑定.我将Center的绑定模式设置为TwoWay:
Center="{Binding MapCenter, Mode=TwoWay}"
Run Code Online (Sandbox Code Playgroud)
这意味着我无法直接绑定到我映射的记录上的GeoCoordinate值(因为如果我通过平移移动地图中心,我不希望更新该值).相反,我必须在我的视图模型中有一个单独的属性,以便在用户滚动数据时使用所选记录中所需的GeoCoordinate值进行更新.
奇怪的是,Center属性需要双向绑定,而图钉在没有两个绑定的情况下工作正常.
| 归档时间: |
|
| 查看次数: |
1221 次 |
| 最近记录: |