2014-04-16 2 views
21

Мне просто интересно, как вы имеете дело с IsolStorageSettings в Windows Phone 8.1 SDK. Пример:Windows Phone 8.1 - Изолированное хранилище

IsolatedStorageSettings.ApplicationSettings.Contains("LocationConsent") 

Как это работает в 8.1? Как и в, как написать этот оператор, не получая контекстных ошибок. Я чувствую, что это устарело или что-то, потому что оно не разрешает известное пространство имен или что-то еще.

Я работаю с картами для моего текущего проекта и портировал его на 8.1, давая мне синтаксическую проблему. Я попытался найти его, но я думаю, что слишком рано для документации, я думаю, потому что MSDN даже не говорит об этом, если я не пропустил это случайно. Любая помощь приветствуется.

+0

Что еще вы ожидаете от них сказать вам, что этот метод возвращает логическое значение? http://msdn.microsoft.com/en-us/library/cc614991(v=vs.95).aspx – Aybe

+1

Мне интересно, как использовать этот же оператор в новом SDK без ошибок. Текущий не разрешает пространство имен, поэтому оно должно быть устарело или что-то вроде того, как они его изменили. – Failsafe

+0

Я только что попробовал, и все работает нормально. Он находится в пространстве имен System.IO.IsolatedStorage. – Aybe

ответ

45

Используйте классы в пространстве имен Windows.Storage. Они новы для Universal Apps. Если вы хотите, чтобы данные всегда были локальными, попробуйте Windows.Storage.ApplicationData.Current.LocalSettings. Однако, если вы не возражаете, чтобы они были сохранены в настройках роуминга (они будут доступны для вашего приложения в Windows 8.1, если вы используете Universal Apps), вы можете использовать Windows.Storage.ApplicationData.Current.RoamingSettings.

var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; 
if(localSettings.Values.ContainsKey("LocationConsent")) 
    DoSomething(localSettings.Values["LocationConsent"]) 

или

var roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings; 
if(roamingSettings.Values.ContainsKey("LocationConsent")) 
    DoSomething(roamingSettings.Values["LocationConsent"]) 

Это должно решить проблему. Я написал это с головы, надеюсь, это сработает для вас.

+0

, поэтому нет необходимости сохранять данные в хранилище? как я использовал в окнах приложения 8 (т. е. roamingSettings.save())? –

+1

вам действительно нужно: ApplicationData.Current.RoamingSettings.SaveSettingValue («ключ», «значение»); – LPains

+0

Я не нашел SaveSettingsValue() в моем коде, это дает мне ошибку. –

Смежные вопросы