Windows phone как сделать приложение. Разработка первого приложения для Windows Phone: Создание первого приложения

На сегодняшний день разработка приложений для W indows 10 M obile является одним из наиболее перспективных направлений.

Многие программисты переучиываются и осваивают эту область свой деятельности самостоятельно.

Других же обучает компания, в которой они работают. В любом случае направление это отличное и заниматься им точно стоит.

Поэтому мы разберем те шаги, которые должны предпринять .

Cодержание:

Вводная информация

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

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

Возможно, вы выучились в колледже или прошли какие-то курсы для .

Если это так, данная инструкция специально для вас.

Переходим непосредственно к теме разработки.

Разработчики Microsoft несколько лет назад сделали очень удобную вещь. Они создали так называемые универсальные приложения, а точнее, среду разработки для них.

Они подходят для абсолютно всех устройств, которые работают на .

На рисунке 1 то, что написано выше, показано на схеме.

Само существования универсальных приложений основывается на понятии UWP (Universal Windows Platform ).

Такие программы (Universal Apps ) подходят для самых разных устройств – ПК, мобильные аппараты, и так далее.

Они объединены такими компонентами:

  • Adaptive User Interface – адаптивный интерфейс, то есть такой внешний вид программы, который может самостоятельно меняться в зависимости от устройства, на котором он работает;
  • Natural User Inputs – набор устройств для ввода данных, таких как микрофон, стилус и подобное;
  • One SDK + Tooling – универсальная для разных устройств среда разработки и сопутствующий набор инструментов;
  • One Store + One Dev Center – один магазин, из которого можно взять приложения для разных девайсов, и один центр разработчиков;
  • Cloud Services – , благодаря которым можно организовать совместный процесс разработки или просто хранить программы и файлы в одном месте, доступном с разных гаджетов.

Благодаря такому подходу можно очень серьезно оптимизировать свою работу.

Основной его плюс состоит в том, что не нужно писать, к примеру, 2 отдельных и .

Вы пишите одну программу, а она сама адаптируется под девайс, на котором запускается.

Поэтому такого понятия, как отдельная программа под W indows 10 M obile на сегодняшний день не существует в принципе.

Вместо него есть UWP .

Примечательно, что когда в обиходе была ОС W indows Phone (операционная система, которая предшествовала Win Mobile ), такого подхода не было предусмотрено. Приходилось делать программу под компьютер, а затем пытаться портировать (другими словами, адаптировать) ее для . Хотя в подавляющем большинстве случаев приходилось вести разработку с нуля. Как вы понимаете, это было крайне неудобно.

Благо, что сейчас все изменилось, и мы имеем универсальный способ программирования.

Теперь перейдем к практике.

Способы разработки под W indows 10 M obile

Исходя из вышесказанного, можно выделить три способа написать программу для W indows 10 M obile:

Cross-Platform . В программной среде Visual Studio (это один из инструментов разработчика, о которых мы поговорим в следующем разделе) есть такой компонент, как Xamarin. Так вот, благодаря нему есть возможность разрабатывать программы для Windows 10 Mobile, и одновременно. Перед разработчиком будут три экрана, в которых он сможет менять интерфейс своего творения. А программная логика будет оставаться неизменной. Используется C#.

Другие. Теоретически, хотя это будет достаточно проблематично, для поставленной нами цели можно использовать и . Эти языки программирования на сегодняшний день считаются устаревшими (более-менее активно используется только Basic). Но их все еще можно использовать.

Как видите, оптимальным является первый способ, особенно если речь идет о начинающем мастере кода.

Поэтому есть смысл разобраться, какие инструменты понадобятся для создания программы таким методом.

Что нужно для разработки – изучаем инструментарий

Все это вам нужно будет скачать прямо сейчас, чтобы начать творить! Скажем сразу, все это есть Microsoft .

Итак, вот что вам потребуется:

Visual Studio . Это среда разработки. Именно в ней вы будете писать код, видеть внешний вид будущего приложения, компилировать его (запускать иными словами) и так далее. Загрузить VS можно с сайта visualstudio.com . Там есть 3 версии – Community, Professional и Enterprise . Первая – бесплатная и в ней минимальный функционал. Но этого вполне хватит для того, чтобы заниматься разработками под Win 10 Mobile . Остальные две – платные и у них значительно расширен функционал.

Windows 10 Anniversary Update SDK . Это обновленный пакет инструментов, необходимых для разработки под весь ассортимент гаджетов, работающих на ОС Виндовс 10. Скачать его можно на сайте developer.microsoft.com . Этот компонент нужно просто установить после загрузки. Он автоматически «встроится» в VS .

Начинающим мастерам будет вполне достаточно Visual Studio Community в сочетании с Windows 10 Anniversary Update SDK.

Важно! Обязательно проверьте системные требования Visual Studio. Вполне возможно, ваш компьютер не потянет версию 2017. На том же сайте можно найти более ранние VS .

В будущем, когда вы освоите основные азы, можно будет также попробовать использовать Blend for Visual Studio.

Но это актуально, только если вы используете Visual Studio не 2017, а более старую версию.

В VS 2017 такой инструмент просто не имеет смысла. Там от него и так взято самое лучшее.

Лицензия разработчика и разблокировка

В нашем случае также потребуется лицензия разработчика. Это актуально если вы работаете на

Но она будет получена автоматически при компиляции первого приложения.

Так что ничего дополнительно делать вам не потребуется.

Больше внимания следует уделить разблокировке устройства. В дальнейшем, чтобы устанавливать приложения без лицензии (которые вы сами и написали, у них пока что не может быть таковой, пока они не проверены и не находятся в магазине), потребуется выполнить некоторые действия.

Конкретно нужно сделать следующее:

  • С помощью поиска найдите меню « Update & Security » («Обновления и безопасность» если по-русски).
  • Там в меню слева выберете « For developers » («Для разработчиков»).
  • Поставьте отметку возле надписи « Developer mode » («Режим разработчика»).

Иногда, если не выполнить это простое действие, возникают проблемы с дальнейшей работой.

Пример приложения – «Hello World»

Итак, чтобы написать ваше первое приложение, сделайте вот что:

1 Запустите установленную Visual Studio. Выберете «Файл », затем «Создать» и «Проект» .

2 Откроется окно «Создание проекта» . Нажмите на панели слева «У становленные » , затем кликните «Visual C++ » (мы пока что будем использовать именно этот язык) и дальше пункт «Универсальные приложения для Windows » .

3 В центральной части открытого окна оставьте все как есть. Там должен быть выбран пункт «Пустое приложение…» .

4 Внизу введите название проекта, расположение исходников и имя ярлыка.

5 Нажмите «ОК» в левом верхнем углу.

6 На панели слева вы найдете список всех файлов проекта. Не вдаваясь в подробности, скажем, что код пишется в файле с расширением.xaml. В нашем случае это «MainPage.xaml». Откройте его, и в центральной части появится поде для кода.

  • - элемент « StackPanel» является своеобразным контейнером для других элементов, здесь мы указываем его длину и высоту;
  • Hello World» и 36 шрифтом;
  • - текстовый блок со словами « What’s your name?»;
  • - еще один StackPanel со своими параметрами;
  • - поле для ввода текста;
  • - закрытие первого StackPanel;
  • - закрытие второго StackPanel.

8 Нажмите кнопку «F5 » на клавиатуре, чтобы увидеть, как работает программа.

Таким образом вы написали свою первую программу. Теперь необходимо уделить огромное количество времени изучению основ программирования и отрасли, которую вы выбрали. Нужно идти дальше. Если вы учитесь в каком-то учебном заведении, где преподают Windows или имеете возможность пройти дополнительные курсы, воспользуйтесь тем матриалом, который вам дадут. А если нет, мы составили для вас список лучших книг и статей, которые можно найти в интернете, чтобы обучиться самостоятельно.

С сегодняшнего дня все разработчики могут пополнять магазин Windows 10. Если вы используете эту операционную систему, вы можете создать для нее собственное приложение. Регистрироваться в качестве разработчика не нужно, публиковать его в магазине тоже, но вы сможете пользоваться им сами или отправить его своим друзьям.

Как создать приложение для Windows 10?

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

Откроется начальная страница сервиса. Нажмите на «Windows 10» и выберите в разделе шаблонов «Empty App W10».

Придумайте своему приложению название, впишите его в соответствующее поле и нажмите «Start with this one!»

Вы перейдете в рабочую панель App Studio. Во вкладке «Content» вы можете наполнить приложение контентом из RSS-ленты любого сайта и различных сервисов (Facebook, Twitter, YouTube, Instagram, Flickr и так далее). Также можно использовать HTML-код.

Расположение контента на странице приложения можно настроить, нажав значок редактирования на плитке любого из блоков. Изменения не сохраняются автоматически, поэтому иногда нажимайте кнопку Save.

Во вкладке «Themes» можно выбрать любую из заготовленных тем оформления или модифицировать существующую так, чтобы она максимально подходила вашему приложению.

Во вкладке «Tiles» настраивается живая плитка приложения. Вы можете загрузить иконки разных размеров.

Вкладка «Settings» - финальная. В ней можно выбрать язык приложения, добавить описание, привязать проект к своему аккаунту разработчика и активировать показ рекламы.

В любой момент можно посмотреть, как ваше приложение будет выглядеть и работать на смартфоне, планшете и компьютере. Если необходимо внести правки, вернитесь в любую вкладку и отредактируйте контент.


Когда приложение готово, жмите «Generate». App Studio создаст установочный файл и предоставит исходный код, который можно будет открыть в более серьезном инструменте - Visual Studio.

Скачайте архив с приложением на компьютер, распакуйте его в какую-нибудь папку, но не спешите его запускать.

Скачайте с сайта Microsoft корневой сертификат и установите его. Затем зайдите в меню «Обновление и безопасность» параметров устройства и в разделе «Для разработчиков» включите «Режим для разработчика».


Откройте папку со своим приложением в проводнике, нажмите на файл Add-AppDevPackage правой кнопкой мыши, а затем на «Запустить с помощью PowerShell». Если с первого раза приложение не установится, попробуйте второй раз, должно получиться. После успешной установки оно появится в списке всех установленных приложений в стартовом меню. Можете запускать и пользоваться.

С выходом Windows 8, разработчикам был представлен абсолютно новый тип приложений – приложения в стиле Modern UI. Ну, как новый? Подобные приложения уже разрабатывались для Windows Phone. Данные приложения не имели ничего общего с привычными Windows-приложениями. Такие приложения не совместимы с предыдущими версиями Windows, обладают абсолютно новым интерфейсом (Modern) и для их разработки используется новый WinRT API (Windows Runtime API) и Windows XAML (язык разметки интерфейса).

Никаких проблем для написания только Windows 8-версии своего приложения не было, однако, если требовалось написать приложение не только для Windows, но и для Windows Phone, нужно было преодолеть определенные трудности. Все дело в том, что Windows Phone для своих приложений использует Silverlight и Windows Phone API, тогда, как Windows 8 использует Windows XAML и WinRT API. Они имеют некоторые существенные отличия.

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

В Microsoft знали об этой проблеме и долгое время работали над ее решением. Результатом этой работы стали так называемые универсальные приложения Windows (Universal Windows Apps), которые доступны начиная с Windows 8.1 Update 1 и Windows Phone 8.1 (которая до конца лета будет доступна для установки всем устройствам на Windows Phone 8). Можно предположить, что теперь приложения будут работать без перекомпиляции как на Windows, так и на Windows Phone, но это не совсем так.

Каждое приложение все так же будет создаваться и компилироваться отдельно для каждой платформы, но объем требуемой работы теперь существенно сократился. Все дело в том, что Microsoft наконец-то унифицировали большую часть API для Windows и Windows Phone. Больше всего изменений было выполнено именно на стороне Windows Phone. Отныне для написания приложений для этих двух платформ (скоро будет три, Xbox One туда же) используется WinRT API и Windows XAML. Конечно же привычный для Windows Phone Silverlight никуда не делся и даже обзавелся некоторыми дополнительными возможностями, но не о нем сейчас разговор.

Универсальные приложения теперь используют среду выполнения Windows (тот самый Windows Runtime). Эти нововведения позволяют программисту свести платформозависимый код к минимуму, ведь большинство вызовов к API идентичны.

Тестовое приложение

Сегодня предлагаю вам попробовать написать простое универсальное приложение, имя которому «Hello, World!» . Писать будем на языке C# (требуются как минимум начальные знания языка и XAML ). Для этого минимально нам понадобится:

Windows 8.1 (x86)

Это совсем минимально. С таким комплектом вы сможете разработать универсальное приложение и отлаживать его Windows-версию на своем текущем компьютере. Windows Phone-версию приложения вы сможете отлаживать только на реальном устройстве (причем требуется аккаунт разработчика).

Чтобы иметь возможность отлаживать свое приложение в эмуляторе Windows Phone, вам потребуется:

Windows 8.1 Профессиональная (x64)
Процессор с поддержкой аппаратной виртуализации для клиента Hyper-V (подходит даже бюджетный Celeron G1610 и вроде даже Pentium 4 на LGA775)
Visual Studio Express 2013 для Windows с обновлением 2

С таким комплектом вы сможете разрабатывать свое приложение более полноценно и тестировать его в различных режимах с использованием имитатора Windows-планшета и эмулятора Windows Phone.

Я же буду использовать Visual Studio Ultimate 2013 и показывать все буду именно на ней. Не волнуйтесь, от бесплатной Express интерфейс практически не отличается. Начнем!

Универсальный «Hello, World!»

Запустим Visual Studio и создадим новый проект.

В разделе «Приложения Магазина Windows» есть различные шаблоны приложений как для Windows, так и для Windows Phone. Нас интересуют именно универсальные приложения, шаблоны которых доступны в специальном подразделе.

На выбор дается два варианта: пустое приложение и приложение с Hub (это такой классный элемент управления). Остановимся на пустом приложении, ведь мы пока только учимся, и сразу лезть в дебри не следует. Пойдем от простого.

Введите имя для создаваемого приложения. Я назвал его «UniversalHelloWorld» , четко и ясно. Нажимаем «ОК» и ожидаем, пока Visual Studio создает проект. Давайте рассмотрим структуру созданного проекта.

Весь проект подразделен на три части :

Windows - содержит код и элементы, доступные только Windows-версии приложения
Windows Phone - содержит код и элементы, доступные только Windows Phone-версии приложения
Shared – содержит код и элементы, которые доступны сразу для двух платформ

Обратите внимание, что на данный момент общим являются только один элемент: App.xaml (и App.xaml.cs). Этот элемент отвечает за запуск и остановку приложения.

Вы уже можете попробовать запустить приложение. И для этого нажмите F5. Для прекращения отладки, вернитесь в Visual Studio и нажмите «Shift+F5» . Вы должны увидеть пустой экран. Первоначально будет запущена Windows-версия приложения. Чтобы выбрать, какую версию приложения запустить, найдите на панели инструментов кнопку отладки (зеленый треугольник).

Здесь вы можете выбрать, где запускать отладку вашего приложения. Имитатор выполняет имитацию Windows-планшета, у которого вы можете менять ориентацию, разрешение дисплея и прочие вещи. Кнопка «Удаленный компьютер» предназначена для запуска отладки на внешнем Windows 8 устройстве. Я для этих целей использую Surface RT.

Вернемся к смене запускаемой версии. В подменю «Запускаемый проект» вы можете выбрать «Windows Phone 8.1» . После этого содержимое базового меню изменится и на ваш выбор будет доступно множество эмуляторов.

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

Пока каждая версия приложения имеет отдельную главную страницу MainPage.xaml. Так как наше приложения очень простое, нам совсем не требуется разный дизайн страницы на каждой платформе. Перенесите MainPage.xaml в раздел Shared, и затем удалите его из разделов Windows и Windows Phone. Структура проекта станет такой:

Открыв данный файл, вы увидите эту страну в визуальном редакторе, а также ее код разметки. Пока мы имеем следующий код:

Он всего лишь создает корневую сетку страницы, закрашенную стандартным цветом страницы. Давайте добавим на страницу одноименную надпись и кнопку для приветствия. Разместите в Grid элемент TextBlock. Код элемента будет таков:

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

Также добавим на страницу кнопку, которая покажет нам небольшое сообщение. Код этой кнопки такой:

Добавим для этой кнопки обработчик события ее нажатия (Click). Для этого дважды щелкните кнопку, и вы автоматически перейдете к редактору кода C#. Автоматически сгенерировался пустой обработчик.

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

Инструментарий

Visual Studio 2010

Чтобы разрабатывать для Windows Phone потребуется Visual Studio 2010 c Service Pack 1 редакции Professional или выше. Если у вас нет Visual Studio 2010, при установке инструментария разработки для Windows Phone, автоматически будет установлена бесплатная версия Visual Studio 2010 Express for Windows Phone, на которой также можно разрабатывать приложения под Windows Phone.

Обе версии интегрированных средств разработки Visual Studio предоставляют разработчику полноценные возможности отладки на устройстве и эмуляторе, такие же, как у разработчиков приложений под настольную версию Windows.

Обратите внимание, что для того, чтобы отлаживаться на устройстве, помимо собственно устройства и кабеля для подключения к компьютеру, необходимо иметь установленное на компьютере со средствами разработки ПО Zune (http://zune.net). Также перед развертыванием приложения и отладкой, требуется зарегистрировать устройство («разлочить» его), используя утилиту Windows Phone Developer Registration Tool, которая устанавливается вместе с Windows Phone SDK.

Windows Phone SDK

Этот пакет, доступный для скачивания на сайте App Hub http://create.msdn.com содержит всё необходимое, для того, чтобы начать разработку. На момент написания этой статьи, последняя версия инструментария доступна в версии Windows Phone SDK 7.1 Release Candidate в лицензии «Go Live» с возможностью разрабатывать свои приложения и публиковать их в Windows Phone Marketplace. Windows Phone SDK 7.1 Release Candidate содержит следующие компоненты:

  • Windows Phone SDK 7.1
  • Windows Phone Emulator
  • Windows Phone SDK 7.1 Assemblies
  • Silverlight 4 SDK and DRT
  • Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0
  • Expression Blend SDK for Windows Phone 7
  • Expression Blend SDK for Windows Phone OS 7.1
  • WCF Data Services Client for Windows Phone
  • Microsoft Advertising SDK for Windows Phone

Если у вас не установлена версия Visual Studio 2010 редакции Professional, Expression Bland 4 или XNA Game Studio 4.0, в процессе установки также будут скачаны и установлены:

  • Visual Studio 2010 Express for Windows Phone
  • Expression Blend 4 for Windows Phone
  • XNA Game Studio 4.0

Expression Blend и Expression Blend for Windows Phone

Expression Blend – это интерактивный визуальный дизайнер для XAML, технологии описания интерфейса для приложений Silverlight и Windows Presentation Foundation (WPF). Это отличное средство разработки, которое позволяет просто манипулировать слоями, анимацией, стилями и шаблонами. Это базовое средство разработки на XAML. Собственно программа Expression Blend не бесплатна, однако специальная версия для создания дизайнов приложений под Windows Phone под названием Expression Blend 4 for Windows Phone доступна для разработчиков бесплатно. Она закачается и установится в процессе установки Windows Phone SDK, если у вас на компьютере нет полной версии Expression Blend. Подробнее об Expression Blend 4 можно прочитать на MSDN:

XNA Game Studio 4.0

Windows Phone Emulator

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

Эмулятор Windows Phone Emulator не поддерживает проигрывание медиаконтента Zune. Эмулятор поставляется только с одним встроенным приложением Internet Explorer, но это Internet Explorer 9 с поддержкой HTML5.

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

Дополнительный инструментарий разработчика

Windows Phone Developer Registration Tool

Windows Phone Profiler

Windows Phone Profiler доступен в меню Debug Visual Studio с установленным инструментарием Windows Phone SDK.

Silverlight Toolkit for Windows Phone – набор полезных элементов управления Silverlight для Windows Phone с поддержкой режима дизайна, от команды разработчиков Silverlight. Доступен весь исходный код, примеры и документация. Обновляется приблизительно раз в три месяца, доступен по адресу http://silverlight.codeplex.com или через NuGet.

Текущий релиз включает в себя такие элементы управления, как ContextMenu, DatePicker и TimePicker, ToggleSwitch, WrapPanel и GestureHelper.

Среда разработки

После установки средств разработки Windows Phone SDK в диалоге New Project в Visual Studio появятся группы проектов для Silverlight for Windows Phone:

и в группе XNA Game Studio 4.0 добавятся проекты для Windows Phone:

Этот цикл статьей сфокусирован на разработке под Windows Phone на Silverlight, поэтому рассмотрим доступные разработчику приложений шаблоны несколько более подробно.

После установки разработчик получает в свое распоряжение следующие шаблоны приложений Silverlight for Windows Phone:

  • Windows Phone Application
  • Windows Phone Databound Application
  • Windows Phone Class Library
  • Windows Phone Silverlight and XNA Application

Перед тем как перейти непосредственно к шаблонам приложений, надо сказать несколько слов по поводу Windows Phone и Windows 8-style UI.

Windows Phone и Windows 8-style UI

Windows Phone – это не просто очередная платформа для мобильных устройств. Она содержит в себе не только технологическую составляющую, но и полностью проработанную концепцию дизайна интерфейса и взаимодействия с пользователем под названием Windows 8-style UI или стиль Windows 8-style UI.

Если вы дизайнер или в вашей команде есть выделенный дизайнер, вы можете воспользоваться всей мощью инструментария Expression Blend 4 или Expression Blend for Windows Phone, которая поставляется вместе с Windows Phone SDK.

Что же делать если вы разработчик и не хотите заниматься визуальным дизайном приложения, например, вы разрабатываете бизнес-приложение и всё что от него требуется, соответствовать общему дизайну и стилю Windows Phone?

Всё очень просто. Во-первых, Silverlight для телефона разработан с учетом требований Windows 8-style UI, поэтому все встроенные элементы управления выполнены в стиле Windows 8-style UI. Во-вторых, по умолчанию, приложения, созданные из шаблонов из поставки Windows Phone SDK, работают, выглядят и используют стили и шрифты в соответствии с Windows 8-style UI.

С другой стороны, возможностей стилизации элементов управления и приложений, основанных на XAML, которые представляет Silverlight, вполне достаточно, чтобы сделать свое приложение неповторимым и узнаваемым, оставаясь в рамках стиля Windows 8-style UI.

Руководство по дизайну интерфейсов и взаимодействию с пользователем для Windows Phone можно найти по следующей ссылке

Всё что было сказано выше относится, конечно, к дизайну обычных приложений, так как требования к дизайну игровых приложений и их интерфейсу, могут существенно отличаться. При этом не надо забывать об общих принципах взаимодействия с пользователем, заложенных в концепции Windows Phone.

Шаблоны приложений

Сначала давайте рассмотрим три шаблона, представляющих собой три основных стиля приложения для Windows Phone:

  • Windows Phone Application
  • Windows Phone Pivot Application
  • Windows Phone Panorama Application

Windows Phone Application – это аналог простого диалогового приложения, имеющего один основной экран, через который происходит основное взаимодействие с пользователем.

Windows Phone Pivot Application – это некий аналог приложения с закладками, где заголовок каждой закладки определяет содержимое. Стандартный вариант использования – каждая закладка представляет собой одни и те же, в целом, данные, но в разных представлениях и/или с разной фильтрацией. Например, календарь, почтовый клиент и настройки телефона. Шаблон использует элемент управления Pivot.

Windows Phone Panorama Application – приложение-панорама, в котором зоны взаимодействия с пользователем также разделены на панели, но доступны они через горизонтальную прокрутку; фоновое изображение установлено сразу на всю панораму, она имеет общий заголовок, который прокручивается медленнее, чем панели; контент соседней панели справа виден при отображении текущей. Например, таким образом реализованы хабы в Windows Phone: People, Marketplace, Pictures, Music+Videos и др. Шаблон использует элемент управления Panorama.

Шаблоны, заканчивающиеся на Agent – это шаблоны библиотек, для выполнения соответствующих фоновых задач:

  • Windows Phone Audio Playback Agent
  • Windows Phone Audio Streaming Agent
  • Windows Phone Scheduled Task Agent

Шаблон Windows Phone Databound Application – простой шаблон приложения со списком – детальное представление с реализацией навигации между страницами с передачей параметров и хранением данных в глобальном ViewModel.

Шаблон Windows Phone Class Library – шаблон библиотеки классов для Windows Phone.

Шаблон Windows Phone Silverlight and XNA Application для Silverlight приложения, которое может использовать XNA для рендеринга графического контента.

В диалоге New Project Visual Studio выберем Visual C#, Silverlight for Windows Phone и простой шаблон приложения Windows Phone Application и назовём его ExploringXAMLFeatures.

В диалоге выбора целевой операционной системы выберем Windows Phone OS 7.1

После создания проекта, окно Visual Studio примет следующий вид

Рассмотрим структуру проекта в окне Solution Explorer:

Название файла Назначение
AppManifest.xml Файл манифеста, необходимый для генерации XAP файла, в который упаковывается приложение для развёртывания на телефоне.
AssemblyInfo.cs Ещё один конфигурационный файл, в котором определяются некоторые метаданные главной сборки(Assembly) приложения.
WMAppManifest.xml Файл метаданных, который содержит разнообразные настройки приложения: заголовок, задание первой страницы, пути к иконкам, определение необходимых системных возможностей и.т.д.
App.xaml Это файл ресурсов приложения. Здесь располагаются глобальные ресурсы (это будет рассмотрено при использовании стилей) или глобальные события (происходящие при старте приложения). Этот файл также является точкой входа приложения.
App.xaml.cs Файл кода (code-behind) для App.xaml. Здесь можно обрабатывать события и ошибки уровня приложения, в том числе его tombstoning. Данную концепция будет рассмотрена позднее, когда будет рассматриваться многозадачность.
ApplicationIcon.png Картинка, которая будет иконкой приложения в телефоне. Это действительно важный файл, так как он является первым, что увидят пользователи при работе с приложением.
Background.png Данная картинка используется, когда приложение закреплено на стартовом экране телефона(start screen). По сути это большая иконка приложения. Разумно сделать её визуально похожей на ApplicationIcon.png.
MainPage.xaml Это часть выбранного шаблона приложения. Название MainPaige не очень удачное, но именно оно используется шаблоном проекта по умолчанию. Этот страница представляет интерфейс, который видит пользователь при старте приложения.
MainPage.xaml.cs Файл кода страницы MainPage.xaml.
SplashScreenImage.jpg Данная картинка отображается во время загрузки +приложения. Можно задать свою картинку с анимацией, чтобы проинформировать, что приложение загружается. Есть техника создания очень динамичных страниц загрузки на XNA, но она выходит далеко за рамки этого цикла статей.

Файлы XAML определяют интерфейс приложения. На самом деле - это просто XML файлы с языком разметки XAML.

Несмотря, что это самый простой проект, он содержит все ключевые элементы, которые содержат все остальные шаблоны и типы проектов.

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

Добавление элементов управления на страницу XAML

Обратите внимание, что Visual Studio по умолчанию отображает и дизайн, и XAML код страницы.

Если вы переходили к просмотру других файлов решения, двойным щелчком перейдите на файл MainPage.xaml.

В XAML код файла MainPage.xaml внутрь элеметна Grid с именем ContentPanel вставьте элемент управления Button:

В окне дизайна кнопка отобразится сразу приблизительно в центре интерфейса. Обратили внимание на атрибут Name ? Это уникальный идентификатор элемента, который помогает ссылаться на него в коде. Считайте это ID атрибутом элемента управления. Давайте теперь добавим какие-нибудь действия при нажатии на эту кнопку. Есть два способа привязать событие к кнопке Button (или любому другому элементу управления). В XAML, прямо в определении Button, можно добавить атрибут Click и система InteliSense автоматически спросит, хотим ли мы сгенерировать новый обработчик событий:

Можно связать обработчик событий напрямую в коде страницы Home.xaml.cs не указывая его в XAML файле:

Public MainPage() { InitializeComponent(); MyButton.Click +=new RoutedEventHandler(MyButton_Click); }

Оба способа работают. Можете использовать любой из них. Для упрощения здесь будет использоваться определение метода в XAML. Теперь в функции MyButton_Click можно написать управляемый код, который будет изменять интерфейс или вызывать другие функции. Завершим наш пример приложения, добавив код, который будет изменять текст в TextBlock PageTitle (PageTitle – это Name, так что можно ссылаться на неё напрямую в коде) на «привет wp7». Чтобы сделать это допишем следующий код в функцию:

Private void MyButton_Click(object sender, RoutedEventArgs e) { PageTitle.Text = "привет wp7"; }

Выберем в настройках проекта Windows Device Emulator

И запустим приложение, нажав на зеленый треугольник или копку F5. После запуска приложения и нажатия на кнопку «Нажми меня», вид экрана должен быть аналогичным снимку экрана ниже:

Добавление новых страниц в проект

Только самое простое приложение состоит из одной страницы. Мы хотим научиться писать сложные многостраничные приложения. Мы можем использовать шаблоны Pivot, Panorama, можем использовать паттерн проектирования MVVM (Model-View-ViewModel), а сначала научимся добавлять новые страницы в проект и переходить между ними.

В окне Solution Explorer щелкнем правой кнопкой мыши по названия проекта, и в отобразившемся меню выберем, Add, далее New Item, в открывшемся диалоговом окне выберем Windows Phone Portrait Page и назовем её SecondPage.xaml:

Теперь у нас есть пустая XAML страница, точная копия страницы MainPage.xaml до того, как мы её отредактировали.

Чтобы лучше различать страницы, перейдем к XAML коду страницы SecondPage и у элемента TextBlock с Name PageTitle отредактируем свойство Text, как показано ниже:

Навигация между страницами приложения

Итак, у нас в проекте есть две страницы, при запуске приложения отображается страница MainPage.xaml. Как теперь перейти со страницы MainPage.xaml на SecondPage.xaml?

Попробуем два простых способа, как это сделать.

В XAML код файла MainPage.xaml после добавленного ранее кода Button, добавим код HyperlinkButton, как показано ниже: