Разработка первого приложения для Windows Phone: Подготовка рабочего окружения. Разработка первого приложения для Windows Phone: Создание первого приложения

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

Подготовка к разработке требует наличия следующего ПО:

  • Visual Studio2010

Данное ПО предоставляет возможность полноценного использования откладок. Стоит отметить, что аналогичные откладки применяются для настольных версий Виндовс.

  • Expression Blend

ПО является визуальным дизайнером, благодаря которому можно с легкостью работать со слоями, всевозможными шаблонами, стилем оформления и анимацией. Версия Expression Blend4 for WindowsPhone доступна для бесплатной загрузки. Стоит отметить, что Expression Blend является базой для XAML.

  • WindowsPhone SDK

С помощью данного пакета можно начинать процесс разработки.

  • WindowsPhone Emulator

Позволяет создать в эмуляторе со встроенным Internet Explorer9, оснащенным HTML5, приложения. Также с его помощью можно заниматься тестированием звонков и SMS-отсылок, а также поддерживать множество полезных функций, включая мультитач на мониторах, симуляцию камеры. Доступны для использования геолокационные сервисы. Однако в данном эмуляторе отсутствует поддержка медиаконтента Zune.

  • XNA Game Studio4.0

Благодаря этому ПО можно заниматься разработкой игр, как для консоли, ПК, так и для WindowsPhone. Библиотеки XNA Framework являются важной частью ПО, для которых характерно наличие управляемого кода.

Дополнительное ПО

Среди дополнительных инструментариев для разработчиков можно выделить такие:

  • WindowsPhone Developer Registration Tool.
  • WindowsPhone Profiler. С его помощью обнаруживаются неполадки с производительностью.
  • Silverlight Toolkit for WindowsPhone.

Особенности среды разработки

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

Существует три шаблона, которые олицетворяют три разных стилевых направлений, предназначенных для WindowsPhone:

  • Первый шаблон называется WindowsPhone Application, который является обычным примером диалогового приложения. Взаимодействие с пользователями осуществляется с помощью одного экрана.
  • WindowsPhone Pivot Application созданно в виде приложения, в котором присутствуют закладки. Каждая из закладок обладает своим заголовком, по которому можно определить содержимое. В качестве управляющего элемента используется Pivot.
  • WindowsPhone Panorama Application обладает своеобразной системой взаимодействия с пользователями, которая осуществляется через разделенные на панели зоны с горизонтальной прокруткой. Для данного шаблона характерно размещение изображения фона на всей панораме. Контент, размещенный на соседней панели с правой стороны, можно увидеть при отображении текущей. Panorama является управленческим элементом.

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

Подробнее о разработке приложений для Windows Phone можно узнать .

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

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

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 для рендеринга графического контента.

При установке Windows Phone Developer Tools вы получаете следующие бесплатные инструменты и компоненты.
  • Windows Phone emulator
  • Zune software
  • XNA Game Studio 4.0
  • Silverlight
  • .NET Framework 4
Если у вас уже есть установленная Visual Studio 2010 (Professional или Ultimate), то вы можете использовать для разработки свою редакцию Visual Studio 2010 после установки Windows Phone Developer Tools.
Expression Blend for Windows Phone
Expression Blend for Windows Phone - программа для разработки дизайна, которая позволяет создавать и добавлять специальные визуальные возможности, такие как градиенты, анимации и переходы. Для некоторых задач Expression Blend проще в использовании, чем Visual Studio. Следующий список содержит некоторые задачи, которые легко выполняются с помощью Expression Blend.
  • Визуальное создание шаблонов данных
  • Использование во время разработки тестовых данных для визуализации шаблонов данных
  • Визуальное создание стилей элементов управления
  • Создание и просмотр анимации
На следующем изображении показан внешний вид Expression Blend.

Примечание:
В этой статье описывается работа в Visual Studio 2010 Express for Windows Phone, и не будет использоваться Expression Blend for Windows Phone.

Visual Studio 2010 Express for Windows Phone
Visual Studio 2010 Express for Windows Phone включает в себя drag-and-drop дизайнер, который имитирует внешний вид телефона, редактор кода и отладчик. Если вы работали с Visual Studio для разработки других видов приложений, вы обнаружите среду для разработки мобильных приложений очень знакомой. На следующем изображении показан внешний вид Visual Studio 2010 Express for Windows Phone.

Дизайнер для Windows Phone содержит панель инструметов (Toolbox), режим дизайна (Design view), режим XAML (XAML view), обозреватель решений (Solution Explorer) и окно «Свойства» (Properties window), похожие на стандартный дизайнер Visual Studio. Два ключевых различий в том, что в режиме дизайна поверхность выглядит как Windows Phone устройство, и появилось целевое устройство (Target device), которое позволит вам выбрать, будет ли вы отлаживать приложение на устройстве или эмуляторе. На следующем изображении показан внешний вид эмулятора в портретной и альбомной ориентации.

Рекомендации по проектированию интерфейса (Design Guidelines)

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

В следующей таблице приводится краткое изложение основных принципов проектирования интерфейса и требований к приложений, которые необходимо учесть при проектировании и разработке вашего приложения. Полный и самый актуальный список рекомендаций по проектированию интерфейса вы можете найти по следующей ссылке.
UI Design and Interaction Guide for Windows Phone 7

Категория Рекомендации по проектированию
Навигация, фреймы и страницы
  • Убедитесь в том, что рассмотрели действие кнопки «Назад» и взаимодействие пользователя с панелью приложения при создании навигационной карты.
Панель приложения
  • Используйте панель приложения для выполнения общих задач приложения.
  • Вы ограничены четырьмя кнопками в панели приложения.
  • Помещайте реже выполняемые действия в меню панели приложения.
  • Если действие трудно чётко выразить с помощью иконки, поместите его в меню панели приложения, а не в виде кнопки.
  • Вы ограничены пятью пунктами в меню панели приложения, чтобы предотвратить возникновение прокрутки.
Кнопка «Назад»
  • Вы должны реализовать только такое поведение кнопки «Назад», которое осуществляет переход назад или скрывает контекстное меню и диалоговые окна. Все другие реализации запрещены.
Ориентация экрана
  • Ориентацией по умолчанию является портретная. Для поддержки альбомной ориентации, вам необходимо дописать код.
  • Если приложение поддерживает альбомную ориентацию, оно не может определять только левую или только правую альбомную ориентацию. Левая и правая альбомные ориентации должны поддерживаться.
  • Если приложение поддерживает ввод текста, вы должны поддерживать альбомную ориентацию из-за возможности существования аппаратной клавиатуры.
Темы оформления
  • Избегайте использования слишком большого количества белого цвета в приложениях, напримера, белого фона, поскольку это может оказать серьёзное влияние на время автономной работы устройств с OLED дисплем.
  • Если основной или фоновый цвет элемента управления задан явно, убедитесь, что его содержание одинаково хорошо видно как при темной, так и при светлой теме оформления. Если указанного цвета не видно, также явно задайте фон или основной цвет, чтобы он был достаточно контрастным или выберите более подходящий цвет.
Настройки приложения
  • Действия приложения, которые перезаписывают или удаляют данные, или не могут быть обратимы должны иметь кнопку «Отмена».
  • При использовании дополнительных экранов с кнопками подтверждения или отмены, нажатие на эти кнопки должно выполнить соответствующее действие и вернуть пользователя в главное меню настроек.
Сенсорный ввод
  • Все основные и общие задачи должны выполняться с помощью одного пальца.
  • Сенсорное управление должно реагировать на прикосновения сразу. Сенсорное управление, которое срабатывает с задержкой или кажется медленным при переходах будет иметь негативное влияние на пользовательский опыт.
  • Для длительных ресурсоёмких операций, разработчики должны обеспечивать обратную связь, чтобы указать, что что-то происходит, с помощью содержимого, отображающего прогресс, или рассмотреть возможность использования прогресс-бара или на крайний случай необработанного уведомления (raw notification). Например, вы можете показать все больше и больше содержимого в процессе загрузки.
  • Долгое нажатие, как правило, следует использовать для отображения контекстного меню или страницы опций для элемента.
Экранная клавиатура
  • Вы должны установить свойство возможности ввода для текстового поля или других элементов с возможностью редактирования, чтобы определить тип клавиатуры и включить соответствующие средства печати.
Элементы управления Canvas и Grid
  • Элемент управления Canvas использует основанную на пикселях разметку и может обеспечить лучшую производительность, чем элемент управления Grid для глубоко встроенных (embedded) или вложенных (nested) элементов управления в приложениях с неизменяющейся ориентацией.
  • Grid является лучшим выбором, когда фрейм приложения должен расширяться, сжиматься или поворачиваться.
Элементы управления Panorama и Pivot
  • Как Panorama, так и Pivot обеспечивают горизонтальную навигацию по содержимому устройства, что позволяет пользователю совершать движения и панорамирование по мере необходимости.
  • Используйте элемент управления Panorama в качестве отправной точки для более детализированного пользовательского опыта.
  • Используйте Pivot для фильтрации больших объемов данных, обеспечивая просмотр нескольких наборов данных, или чтобы предоставить способ переключения между различными режимами одних и тех же данных.
  • Не используйте Pivot для задач навигации, как wizard-приложениях.
  • Вертикальная прокрутка списка или сетки в разделах Panorama приемлемо, пока она находится в пределах границ раздела и не параллельно горизонтальной прокрутке.
  • Никогда не ставьте Pivot внутри другого элемента управления Pivot.
  • Никогда не ставьте Pivot внутри элемента управления Panorama.
  • Приложение должно минимизировать количество страниц Pivot.
  • Pivot должен использоваться только для отображения элементов или данных сходного типа.
  • Вы не должны использовать кнопки панели приложения для навигации в элементе управления Pivot. Если Pivot требует навигационные средства, вы, вероятно, не правильно используете его.
Текст
  • Вы должны в первую очередь использовать шрифт Segoe. Используйте альтернативные шрифты с осторожностью.
  • Избегайте использования шрифтов, размеры которых меньше 15 пунктов.
  • Придерживайтесь единого стиля использования заглавных букв.
  • Название приложения в строке заголовка должно быть в верхнем регистре.
  • Используйте все строчные буквы для большинства остального текста в приложении, включая заголовки страниц и названия списков. В панели приложения любой текст автоматически отображается в нижнем регистре.

Дополнительные ресурсы

Ниже приведены некоторые ссылки на дополнительные ресурсы, где можно узнать больше о разработке для Windows Phone.
Ресурс Описание
Windows Phone App Hub Дополнительная документация, примеры кода и сообщество по разработке для Windows Phone.
Windows Phone Development Documentation Официальная документация по разработке для Windows Phone на MSDN.
Silverlight Documentation Официальная документация по Silverlight и Silverlight for Windows Phone на MSDN.
Code Samples for Windows Phone Скачиваемые примеры кода, которые дополняют документацию по Windows Phone.
Windows Phone QuickStarts Сборник коротких статей, демонстрирующих задачи и возможности при разработке для Windows Phone.
Windows Phone Developer Guide Руководство разработчика, описывающее историю фиктивной компанией, которая решила использовать Windows Phone 7 как клиентское устройство для уже существующих облачного приложения.
The Windows Phone Developer Blog Блог, который содержит актуальную информацию и объявления прямо от команды по разработке Windows Phone.
Windows Phone 7 Development for Absolute Beginners Серия видеороликов для абсолютных новичков, не требующая никаких навыков программирования.
Windows Phone 7 Jump Start Серия видеороликов для разработчиков, не знакомых с разработкой для Windows Phone с использованием Silverlight или XNA.
Windows Phone 7 Training Course Видеоролики и практические занятия по разработке для Windows Phone с использованием Silverlight или XNA.
.toolbox Учебники и другие ресурсы для дизайнеров, обучающие, как разрабатывать дизайн приложения для Windows Phone. Включает в себя учебники по Expression Blend.
Jeff Wilcox Blog Блог о Silverlight, Silverlight Toolkit и Silverlight for Windows Phone. Джеф Уилкокс - это ведущий разработчик программного обеспечения в Microsoft в команде Silverlight.
Jeff Prosise Blog Блог о различных областях в программировании на.NET, в том числе Silverlight и Windows Phone. Джеф Просиз является опытным программистом и одним из основателей Wintellect.

В диалоге 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, как показано ниже:

Статьи по теме