BingMapControl WP7 XAML数据绑定中心

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会相应地移动,但最终会从地图移开,因为地图不会重新居中.如何使用数据绑定使地图重新居中?

dav*_*ywc 5

我找到了第二个更好的分辨率,可以实现数据绑定.我将Center的绑定模式设置为TwoWay:

Center="{Binding MapCenter, Mode=TwoWay}"
Run Code Online (Sandbox Code Playgroud)

这意味着我无法直接绑定到我映射的记录上的GeoCoordinate值(因为如果我通过平移移动地图中心,我不希望更新该值).相反,我必须在我的视图模型中有一个单独的属性,以便在用户滚动数据时使用所选记录中所需的GeoCoordinate值进行更新.

奇怪的是,Center属性需要双向绑定,而图钉在没有两个绑定的情况下工作正常.