Windows Phone 7-Bing映射MVVM图钉初始化

Windows Phone 7-Bing映射MVVM图钉初始化,mvvm,windows-phone-7,Mvvm,Windows Phone 7,有人对如何在Bing地图控件上初始化图钉有很好的指导吗? 我当前的方案可行,但不是100%正确。。。让我解释一下细节: 当我打开带有Bing地图控件的页面时,我希望用户能够按下一个小按钮,显示其当前位置。 要显示当前位置,我使用图钉。我已经在XAML文件中的控件上添加了图钉,如下所示: <map:Pushpin> x:Name="currentLocation" Location="{Binding CurrentLocation}" Content="Me" Manipulatio

有人对如何在Bing地图控件上初始化图钉有很好的指导吗? 我当前的方案可行,但不是100%正确。。。让我解释一下细节:

当我打开带有Bing地图控件的页面时,我希望用户能够按下一个小按钮,显示其当前位置。 要显示当前位置,我使用图钉。我已经在XAML文件中的控件上添加了图钉,如下所示:

<map:Pushpin> x:Name="currentLocation" Location="{Binding CurrentLocation}" Content="Me" ManipulationStarted="CurrentLocationPin_ManipulationStarted" </map:Pushpin>
x:Name=“currentLocation”Location=“{Binding currentLocation}”Content=“Me”操纵开始=“CurrentLocationPin\u操纵开始”
现在在这个场景中出现了一些问题! 第一,图钉始终可见!那我该怎么做呢?(我知道我也可以将可见性绑定到属性并使用bool-to-Visibility转换器,但这是最好的方法吗?)
其次,现在我不初始化viewmodel中的位置。。。但出于语义方面的原因,我希望将默认值初始化为geocordinate.unknown(这样,当用户试图在设置currentlocation之前进行一些操作时,我可以使用它进行检查)。但当我在启动时初始化图钉时,我得到以下错误:“UIElement.Arrange(finalRect)不能在finalRect中使用无限或NaN值调用。”。所以我的问题是:)设置currentlocation图钉的好指南是什么?(但请注意,在设置当前位置之前,用户必须按下一个小的应用程序栏按钮)

初始化问题是由于图钉的可见性造成的。如果
图钉
的初始可见性为
折叠
,则它将不会参与排列过程,因此不会出现错误

如果您使用视图模型来支持此视图,那么我认为从视图模型中公开一个属性没有问题,该属性决定
图钉是否应可见。是的,您可以使用布尔值到可见性的转换器,但是您可以通过实际公开
可见性
属性(这是我使用的方法)来节省一些处理


如果您正在使用命令从按钮按下开始显示
图钉
(具有将应用程序栏按钮连接到命令的行为)。

这真的是您的XAML吗?它看起来无效。XAML是:
将图钉设置为可见或不可见属性的提示非常有用:),但即使将图钉设置为可见。折叠(使用此属性),如果尝试将图钉初始化为地理坐标,仍会出错。未知!嗯,真遗憾。在这种情况下,您可以将支持字段初始化为
geocordinate.Unknown
,但在属性getter中返回一个有效的坐标。那应该行。好吧,那不是我想要的。。。所以,也许我会关闭图钉,只在用户点击“定位我”按钮时添加它。。。