Как определить, что устройство подключено по WiFi или по Moblile Broadband (edge / 3g / hdspa и т.д)
На Windows Phone 8.1 Silverlight проблема не стоит, всё как и раньше, по-простому:
if(NetworkInterface.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
     Debug.WriteLine("WiFi Connection");
Но вот под Windows Phone 8.1 и соответственно в фоновых задачах, добрые люди решили убрать NetworkInterfaceType. Но мы не отчаиваемся, и делаем так:
        public static bool IsConnectedWiFi()
        {
            ConnectionProfile InternetConnectionProfile = NetworkInformation.GetInternetConnectionProfile();
            return InternetConnectionProfile != null && InternetConnectionProfile.IsWlanConnectionProfile;
        }
При этом, чтобы просто проверить наличие соединения, мы можем обращаться либо к старому NetworkInterface.GetIsNetworkAvailable(), либо проверять на null InternetConnectionProfile.
Подробнее:
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh452991.aspx
Казалось бы, дело простое, но документация на данный момент вводит в заблуждение, т.к. там указано, что можно красиво определить на любых «восьмёрках» (но вы им не верьте).