windows-phone-7 - 将地理坐标分配给图钉

标签 windows-phone-7 dictionary windows-phone-8 silverlight-toolkit pushpin

伙计们,我真的需要你们的帮助,我有一张 map

xmlns:maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
xmlns:maptk="clr-namespace:Microsoft.Phone.Maps.Toolkitassembly=Microsoft.Phone.Controls.Toolkit"

         <maps:Map Grid.Row="0"  Tap="Onm_MapControlTap" Name="m_MapControl
            <maptk:MapExtensions.Children>
                <maptk:Pushpin x:Name="m_PushPin" Tap="OnPushPinTap">
                  <maptk:Pushpin.Content>
                    <StackPanel>                        
                            <TextBlock Text=""/>
                            <Image Source=""/>
                    </StackPanel>
                </maptk:Pushpin.Content>
            </maptk:Pushpin>
           </maptk:MapExtensions.Children>
        </maps:Map>

当我从地理观察器获得坐标时,或者当我点击 map 时,我想将这些坐标添加到我的图钉中。

m_PushPin.GeoCoordinate = m_watcher.Position.Location;

m_PushPin 发生“System.NullReferenceException”类型的异常,我无法理解为什么此 PushPin 为空。你能告诉我我做错了什么吗?我该如何解决这个问题?

最佳答案

这是 XAML 解析器的一个已知问题。由于您的 PushPin 嵌套在附加依赖项属性 (MapExtensions.Children) 中,因此它不会成为与 UserControl 相同的逻辑树的一部分,因此不会被该范围内的 FindName 拾取。

相反,您应该手动遍历可视化树并获取所需的控件。幸运的是, map 控件附带了专门针对这种情况的辅助方法。

    var pushpin = MapExtensions.GetChildren(myMap).OfType<Pushpin>().First(p => p.Name == "m_PushPin");

关于windows-phone-7 - 将地理坐标分配给图钉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14881000/

相关文章:

java - 如何在java中打印HashMap中的单个键值对?

c# - 带过期时间的字典缓存

cordova - FontAwesome 使用cordova/phonegap 在WP8 上显示为正方形

c# - Windows 手机 8 : how to include image in sample photos?

c# - 使用 wp8 内置 json 类反序列化带有空格的 Json 属性名称

c# - Windows Phone 7 到 iPhone 开发(我知道倒退)

c# - 如何创建一个仅接受数字的输入范围的 PasswordBox?

c# - 是否可以从 WP7 应用程序导航到设备设置?

c++ - 用 <algorithm> 可以用 map 覆盖 map 吗?

windows-phone-7 - 在 WP7 上通过 Linq 2 SQL 存储拉丁字符