xaml - Bing MapControl WP7 XAML 数据绑定(bind)中心

标签 xaml data-binding windows-phone-7 bing-maps

我声明了以下 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/

相关文章:

c# - 具有依赖属性的转换器

c# - 如何使用带参数的函数作为事件处理程序?

WPF 数据绑定(bind)

c# - 即使应用程序关闭,如何在 Windows Phone 的 IsolatedStorageSettings 中保留数据?

c# - WP7/WP8 如何向本地html 页面传递参数?

wpf - 如何在XAML窗口中添加多个资源?

c# - C# 和 .NET 中的数据绑定(bind)

android - 如何通过dataBinding访问fragment中activity的父 View

windows-phone-7 - Windows Phone 7 嗅探器

c# - 样式化 Xamarin.Forms DisplayAlert