5

古い W​​P7 Microsoft.Phone.Controls.Maps.Map / Bing Map コントロールを使用する Windows Phone アプリを開発しています。

マップ タイルはローカル ソースから提供されるため、アプリが動作するためにネットワーク接続は必要ありません。残念ながら、マップ コントロールは「サーバーに接続できません。後で再試行してください」と表示することを主張します。オフライン時に地図上にメッセージ。

このメッセージを削除/非表示にする方法を知っている人はいますか?

念のため、WP8 アプリを開発していますが、新しい WP8 マップ コントロールには Bing ベース マップを置き換える方法がないため、減価償却済みの WP7 Bing マップ コントロールを使用しています。

4

3 に答える 3

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;   
            }
       }

ここからダウンロードLinqToVisualTreeできるクラスウィッチを含める必要があります。そして元記事はこちら

于 2013-06-07T14:33:53.593 に答える