Главная » Разработка для Windows Phone 7

Совместное использование кистей Windows Phone 7

Добавлено Дата: 22 January, 2012 категория: Разработка для Windows Phone 7

Предположим, страница включает несколько TextBlock, и для Foreground всех этих элементов требуется применить LinearGradientBrush. Идеальное условие для использования ресурса.

Первый шаг – определение LinearGradientBrush в разделе ресурсов XAML-файла. Если ресурс задается в производном от FrameworkElement элементе, он должен быть описан до его применения, и доступ к нему имеет только данный или вложенный в него элемент.

Читать »

TextBox и ввод с клавиатуры Windows Phone 7

Добавлено Дата: 22 January, 2012 категория: Разработка для Windows Phone 7

В Silverlight для Windows Phone предлагается два типа элементов управления, обеспечивающих текстовый ввод. Это TextBox, который позволяет вводить и редактировать неформатированный текст в одну или много строк, и PasswordBox (Поле для введения пароля), который несколько мгновений показывает введенный символ и затем заменяет его другим символом, по умолчанию звездочкой.

Читать »

Image и ImageSource

Добавлено Дата: 22 January, 2012 категория: Разработка для Windows Phone 7

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

Читать »

Свойства и строковые элементы TextBlock Windows Phone 7

Добавлено Дата: 22 January, 2012 категория: Разработка для Windows Phone 7

Мы обсуждаем TextBlock с самых первых страниц данной книги, и, наконец, пришло время рассмотреть его более подробно. Элемент TextBlock включает пять свойств для задания шрифтов: FontFamily, FontSize, FontStretch, FontStyle, and FontWeight.

Как было показано ранее, свойство FontStyle может принимать значения Normal или Italic. Теоретически свойству FontStretch можно задать значения Condensed (Уплотненный) и Expanded (Разреженный), но я никогда не встречал, чтобы это работало в Silverlight. Как правило, для FontWeight задают значения Normal или Bold, хотя существуют и другие варианты: Black (Темный), SemiBold (Полужирный) и Light (Светлый).

Читать »

Перекрытие и ZIndex

Добавлено Дата: 21 January, 2012 категория: Разработка для Windows Phone 7

Возьмем две линии:

<Grid Background="LightCyan"> <Line X1="100" Y1="300" X2="200" Y2="50" Stroke="Blue" />

<Line X1="50" Y1="100" X2="300" Y2="200" Stroke="Red" />

Читать »

Вывод альбомов на экран

Добавлено Дата: 20 January, 2012 категория: Разработка для Windows Phone 7

Когда приложение начинает выполнение, на экран выводится MainPage. XAML-файл включает объявления пространств имен XML для «controls» (чтобы обеспечить доступ к элементу управления Pivot) и «local» (для MusicPresenter). В коллекции Resources создается экземпляр MusicPresenter:

Читать »

Видимость и компоновка Windows Phone 7

Добавлено Дата: 20 January, 2012 категория: Разработка для Windows Phone 7

Класс UIElement определяет свойство Visibility (Видимость), которое удобно использовать для временного сокрытия элементов. Но это свойство не типа Boolean. Visibility типа Visibility. Это перечисление, включающее два члена: Visible (Видимый) и Collapsed (Свернутый).

Читать »

Класс ArcSegment Windows Phone 7

Добавлено Дата: 19 January, 2012 категория: Разработка для Windows Phone 7

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

Читать »

Изменение существующих изображений Windows Phone 7

Добавлено Дата: 19 January, 2012 категория: Разработка для Windows Phone 7

Чтобы изменить существующее изображение, можно вызвать GetData «исходного» Texture2D, изменить полученные пикселы, применяя к ним некоторый алгоритм, и передать полученные значения пикселов в «результирующий» Texture2D, вызвав для него SetData. Это продемонстрировано в проекте RippleEffect (Эффект волны). Исходный Texture2D – это растровое изображение, которое я скопировал со своего сайта. Приложение изменяет его пикселы, создавая эффект прохождения по нему горизонтальных волн:

Читать »

Привязка к ItemsSource

Добавлено Дата: 19 January, 2012 категория: Разработка для Windows Phone 7

Мы рассмотрели, как заполнять элемент управления списками посредством кода или с помощью списка, описанного в XAML. Также можно задать элементы с помощью свойства ItemsSource, определенного ItemsControl. Свойство ItemsSource типа Enumerable (Перечислимый), поэтому в качестве его значения можно использовать практически любой тип коллекции, включая простой массив. Однако для работы с коллекцией, элементы которой могут добавляться и удаляться динамически, очень часто применяется класс ObservableCollection (Коллекция поддающаяся наблюдению), который реализует интерфейс INotifyCollectionChanged (Уведомление об изменении коллекции). Элемент управления списками устанавливает обработчик этого события, что позволяет ему получать уведомления об изменениях коллекции и обновляться соответственно.

Читать »

Наследование стилей Windows Phone 7

Добавлено Дата: 18 January, 2012 категория: Разработка для Windows Phone 7

Стили могут дополнять или изменять другие стили посредством наследования. Зададим в качестве значения свойства BasedOn (Основан на) нашего Style определенный ранее Style. Вот так выглядит коллекция Resources проекта StyleInheritance:

Проект Silverlight: StyleInheritance Файл: MainPage.xaml (фрагмент)

Читать »

Jot и параметры приложения

Добавлено Дата: 18 January, 2012 категория: Разработка для Windows Phone 7

Приложение Jot (Записка), которое будет рассмотрено следующим – это одно из трех приложений данной главы, которое может быть полезным в повседневной жизни. Его идея возникла из приложения QuickNotes, которое также будет описано в данной главе несколько позже. По сути QuickNotes – это большой элемент TextBox, но содержимое этого TextBox хранится изолированном хранилище. Мы можем добавлять и удалять текст из него, но каждый раз, открывая это приложение, мы получаем текст, который оставили в нем в предыдущий раз. Данное приложение замечательно подходит для коротких заметок (как предполагает его название), потому что пользователю не приходится загружать или сохранять файлы, все делается автоматически.

Читать »

Темы Windows Phone 7

Добавлено Дата: 17 January, 2012 категория: Разработка для Windows Phone 7

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

Читать »

Мозаичные кисти, не создающие мозаики

Добавлено Дата: 17 January, 2012 категория: Разработка для Windows Phone 7

В данной книге уже были представлены примеры SolidColorBrush, LinearGradientBrush и RadialGradientBrush. Рассмотрим полную иерархию потомков класса Brush:

Object

DependencyObject (абстрактный) Brush (абстрактный)

SolidColorBrush (запечатанный[10]) GradientBrush (абстрактный)

Читать »

Механизм компоновки Windows Phone 7

Добавлено Дата: 17 January, 2012 категория: Разработка для Windows Phone 7

Давайте проведем небольшой эксперимент. Перейдем к файлу XAML проекта TelephonicConversation и вставим в тег ScrollViewer следующий параметр:

HorizontalScrollBarVisibility="Visible"

И тут же произойдет разительное изменение. Все элементы TextBlock превратятся в длинные строки текста без переносов. Что случилось? Почему свойство элемента ScrollViewer имеет такое огромное влияние на элементы TextBlock?

Читать »