Статьи

Набор инструментов Silverlight для Windows Phone? Что это приносит на стол?

Разработка для Windows Phone 7 увлекательна, и стандартный SDK поставляется с предустановленным базовым набором компонентов, который позволяет создавать полнофункциональные приложения для Windows Phone 7. Конечно, есть некоторые элементы управления, которые используются в самой ОС, но вы не можете вставить их непосредственно без собственной реализации. Для этого конкретного случая Microsoft выпустила и продолжает поддерживать Silverlight Toolkit для Windows Phone .

Скачайте и установите его. После этого в существующем проекте приложения для Windows Phone 7 необходимо добавить ссылку на библиотеки инструментария. Они расположены в <SystemDrive>: \ Program Files (x86) \ Microsoft SDKs \ Windows Phone \ v7.0 \ Toolkit \ Nov10 \ Bin (для 64-разрядных систем) или в <SystemDrive>: \ Program Files \ Microsoft SDKs \ Windows Phone \ v7.0 \ Toolkit \ Nov10 \ Bin (для 32-битных систем).

Вам необходимо добавить ссылку на Microsoft.Phone.Controls.Toolkit.dll :

Затем вам нужно добавить ссылку на пространство имен на самой странице:

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

Теперь вы можете добавить элементы управления на свою страницу, добавив префикс объектов к инструментарию :

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

AutoCompleteBox

Этот элемент управления чрезвычайно полезен, когда у вас есть заранее заданная коллекция слов, и вы хотите, чтобы конечный пользователь мог легче вводить эти слова. Не путайте этот элемент управления с параметром автокоррекции, который вы можете получить для элемента управления TextBox — AutoCompleteBox работает как контекстные предложения. Оно не будет автоматически исправлять слово, даже если оно было введено неправильно. Чтобы привязать этот элемент управления к вашему набору слов, вы должны использовать свойство ItemsSource и связать его, например, со списком <string> .

Контекстное меню

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

DatePicker

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

ListPicker

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

Если есть 5 или меньше элементов, он появится в виде выпадающего списка прямо на странице:

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

LongListSelector

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

TimePicker

Имея ту же структуру, что и DatePicker, TimePicker используется для выбора значения времени. Возвращаемым результатом будет DateTime, также представленный как обнуляемый тип.

Переключить переключатель

Когда переключателя недостаточно, вы можете позволить пользователю переключаться между состояниями с помощью ползунка. Если вы уже использовали реальное устройство Windows Phone 7, то вы, вероятно, знаете, что ToggleSwitch используется в настройках системы (например, для включения или выключения WiFi). Говоря об этом элементе управления, я недавно работал над своей собственной реализацией ToggleSwitch. По моему мнению, этот элемент управления гораздо более интуитивно понятен с точки зрения пользователя, чем любой другой возможный переключатель.

WrapPanel

В основном это комбинация между StackPanel и Grid. Он работает на основе той же идеи, что и обычная Silverlight WrapPanel . Я считаю это полезным, когда вам нужно отображать небольшие снимки (например, фотографии) в организованной манере с пользовательской ориентацией.

Вывод

Как вы можете видеть, Silverlight Toolkit для Windows Phone 7 придает больше значения компонентной части приложения. Хотя это дополнительная зависимость, она, безусловно, поможет вам в долгосрочной перспективе, когда вам не придется изобретать велосипед (если вы не хотите делать это ради развлечения). Пока что этот инструментарий регулярно обновляется, поэтому я бы рекомендовал вам периодически проверять наличие обновлений на странице CodePlex.