离线时删除/隐藏Bing地图离线消息

Gav*_*vin 5 c# bing-maps windows-phone-7 windows-phone windows-phone-8

我正在开发一个使用旧版WP7 Microsoft.Phone.Controls.Maps.Map/Bing Map控件的Windows Phone应用程序.

地图图块正在从本地源提供,因此应用程序不需要网络连接即可工作.不幸的是,地图控件坚持显示"无法联系服务器.请稍后再试".离线时在地图上留言.

有谁知道删除/隐藏此消息的方法?

万一你好奇 - 我正在开发一个WP8应用程序,但使用折旧的WP7 Bing地图控件,因为新的WP8地图控件没有提供替换Bing基本地图的方法.

Swi*_*arp 5

我认为这可能更适合你:

void YourPage_Loaded(object sender, RoutedEventArgs e)
        {         
            m_Map.ZoomLevel = 11;          
            m_Map.LayoutUpdated += m_Map_LayoutUpdated; 
        }

        void m_Map_LayoutUpdated(object sender, EventArgs e)
        {
            if (!isRemoved) 
            {
                RemoveOverlayTextBlock();
            }
        }

        void  RemoveOverlayTextBlock()
        {             
            var textBlock = m_Map.DescendantsAndSelf.OfType<TextBlock>()
                           .SingleOrDefault(d => d.Text.Contains("Invalid Credentials") ||
                                                 d.Text.Contains("Unable to contact Server"));
            if (textBlock != null)
            {
                var parentBorder = textBlock.Parent as Border;
                if (parentBorder != null)
                {
                    parentBorder.Visibility = Visibility.Collapsed;
                }
                isRemoved = true;   
            }
       }
Run Code Online (Sandbox Code Playgroud)

你必须包括一个类LinqToVisualTree巫婆可以从这里下载.这是原帖