Главная » C#, Windows Runtime, XAML, Разработка для Windows 8 » Контракты приложения Metro

0

Еще одной возможностью  интеграции приложения с платформой  Windows 8 является использование контрактов. Контракты представляют собой соглашение между Windows 8  и  одним или  несколькими  приложениями в   стиле Metro. Для каждого из возможных вариантов  интеграции приложения с платформой существует свои контракт.  Например,  Windows  8  позволяет обмениваться данными  между  приложениями.  Приложение, которое  является источником таких  данных, поддерживает для этого соответствующий  контракт  и  должно удовлетворять его   требованиям.  Аналогично   для   приложений,    которые являются потребителями  таких  данных.  Они  должны  быть   интегрированы с соответствующим контактом, который позволит им получать данные.

Когда приложение использует контракты такого рода, они обязательно должны быть указаны в списке возможностей. В текущей версии платформы мы можем использовать следующие контракты:

·                   Settings

·                   Search;

·                   Sharing;

·                   Play To;

·                   App to App Picking.

В этой главе рассмотрим первые три. С остальными познакомимся в  других главах.

Настройки приложения (Settings)

При использовании этого типа контакта  приложение может  размещать свои элементы в системной панели настроек (Рис. 6.9).

Рис. 6.9.

Панель настроек можно отобразить, используя возможности  платформы или из  приложения.  Для  открытия  панели  из  приложения  необходимо  вызвать статический метод Show() класса Windows.UI.ApplicationSettings.SettingsPane.

Для добавления элементов списка в системную панель настроек и выполнения необходимой  логики  по  его  нажатию  необходимо   выполнить следующие действия:

var settingsPane = Windows.UI.ApplicationSettings.SettingsPane

.GetForCurrentView(); settingsPane.CommandsRequested += settingsPane_CommandsRequested;

……….

void settingsPane_CommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)

{

args.Request.ApplicationCommands.Add(new SettingsCommand("SomeId", "Log Out", (handler)=>

{

//TODO: Код обработчика клика

}));

}

Метод  GetForCurrentView  возвращает   объект  типа  SettingsPane,   который, в   свою очередь,  позволяет подписаться  на  событие   CommandsRequested и в обработчике события добавить необходимые команды в системную панель настроек. При добавлении элементов списка в  эту панель необходимо создать объект  класса   SettingsCommand  и  указать  в   конструкторе  идентификатор элемента, текстовую строку для отображения в  интерфейсе и делегат, который будет обрабатывать нажатия этого элемента списка.

Элементы, созданные в панели настроек, будут находиться на ней, только когда пользователь работает с приложением.

Сергей Лутай, Сергей Байдачный, Windows 8 для C# разработчиков

По теме:

  • Комментарии