0

Я внедрил запись в элементе управления SettingsFlyout для панели настроек. Сама страница содержит раскрывающийся список. Независимо от того, какой вариант пользователь выбирает из этого раскрывающегося списка, необходимо сохранить в хранилище данных роуминга. Очевидно, что эти сохраненные данные необходимо извлекать всякий раз, когда пользователь добирается до этой страницы в области настроек. Я не уверен, что лучше всего написать этот код для этапа данных и поиска? Я вижу, что объект SettingsFlyout имеет onhfterhide, onftershow, onbeforehide и onbeforeshow события. Должны ли какие-либо из них использоваться для этой цели?Настройки приложения для хранения в хранилище данных роуминга

ответ

1

[Windows.Storage.ApplicationData.Current.localSettings] (http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.applicationdata.aspx) или roamingSettings предоставляют встроенную поддержку для установления/установки пары ключей и значений. Он также обрабатывает сохранение файла в папке данных приложения. Он также требует пакетной обработки в соответствии с документацией.

вы можете найти код ссылки в application data sample

var roamingSettings = Windows.Storage.ApplicationData.current.roamingSettings; 
function settingsWriteSetting() { 
    roamingSettings.values['my setting'] = 'my setting value'; 
} 

приветом, события на выпадающей - там события могут быть использованы, чтобы принять некоторые меры до/после выпадающей скрыт - в общем потоке пользователя. Например, я однажды создал Promise вокруг выпадающего знака. afterhide был использован для вызова обратного вызова ошибки для обещания, с ошибкой как отмененной.

1

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

Предполагая, что ваши настройки вылета определены в settings/mySettings.html, создайте файл JavaScript с именем settings/mySettings.js и укажите его в начале страницы настроек. Затем добавьте следующий код в файл сценария.

(function() { 
    "use strict"; 

    var page = WinJS.UI.Pages.define("/settings/mySettings.html", { 
     ready: function (element, options) { 
      // wire up event handlers for saving changes 
      // setup initial state 
     }, 
    }); 
})(); 

Как и любой другой элемент управления страницей, вы добавляете обработчики событий и инициализируете страницу в готовой функции. Если вы знакомы с шаблоном приложения для навигации, это то же самое.

+0

Спасибо за ваш ответ. Это имеет смысл. Знаете ли вы о случаях использования, когда эти onhfterhide, onaftershow, onbeforehide и onbeforeshow события должны использоваться? –

+0

У меня не было необходимости использовать их, поэтому я буду использовать прецеденты. Короче говоря, эти события позволяют обрабатывать показ или скрытие вылета извне самого всплывающего окна. Поддельный сценарий. Возможно, если вы активировали всплывающее окно с помощью кнопки, вы можете использовать onafterhide, чтобы внести некоторые изменения в экран, содержащий кнопку? –

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