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

TextBlock в коде

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

Прежде чем мы перейдем к экспериментам с XAML, я должен сделать еще одно важное предупреждение: осваивая XAML, не забудьте C#!

Вспомним XAML-версию TextBlock в Grid из главы 2:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <TextBlock Text="Hello, Windows Phone 7!"

Читать »

Географические координаты Windows Phone 7

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

С согласия пользователя приложение для Windows Phone 7 может принимать географические координаты телефона по методу Assisted-GPS или A-GPS.

Наиболее точный метод определения местоположения – по сигналам спутников Глобальной системы позиционирования (Global Positioning System, GPS). Но GPS может быть медленной. Эта система плохо работает в больших городах и в помещениях, ее применение энергоневыгодно, потому что приводит к большому расходу заряда батареи. Для энергосбережения и увеличения скорости, система A-GPS может определять местоположение по вышкам сотовой связи или сети. Эти методы намного более производительны и надежны, но менее точные.

Читать »

Работа с пикселами Windows Phone 7 – Свойство Pixels класса WritableBitmap

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

Свойство Pixels класса WritableBitmap – это массив объектов типа int, т.е. каждый пиксел включает 32 бита. Само свойство Pixels является свойством только для чтения, таким образом, мы не можем заменить массив целиком, но можем задавать и возвращать элементы этого массива.

Читать »

Панель, взгляд изнутри Windows Phone 7

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

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

Читать »

Настройка представления элементов списков в Windows Phone 7

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

Второй из трех подходов к заполнению элемента управления списками требует явного определения содержимого в XAML. Этот подход используется в проекте ItemsControlsFromXaml (Элементы управления списками из XAML) для заполнения ItemsControl и двух элементов управления ListBox. Определенное ItemsControl свойство Items – это свойство содержимого элемента управления, поэтому в XAML требуется лишь поместить все объекты между открывающим и закрывающим тегами заданного элемента управления списками.

Читать »

x:Key и x:Name

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

Чтобы использовать XAML-ресурс из кода, можно просто указать в свойстве Resources имя необходимого ресурса как индекс. Например, в файле выделенного кода MainPage.xaml.cs данный код будет обеспечивать извлечение ресурса под именем «brush» из коллекции Resources элемента MainPage:

Читать »

Стандартные файлы Silverlight

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

Загрузив проект в Visual Studio, заглянем в Solution Explorer. Там мы найдем две пары ключевых файлов: App.xaml и App.xaml.cs, MainPage.xaml и MainPage.xaml.cs. Файлы App.xaml и MainPage.xaml – это файлы XAML, тогда как App.xaml.cs и MainPage.xaml.cs – это файлы C#. Такой своеобразный принцип именования файлов подразумевает, что два файла C#-кода являются файлами выделенного кода, связанными с двумя XAML-файлами. Они содержат код для поддержки разметки. Это основная концепция Silverlight.

Читать »

Синтаксис разметки контура Windows Phone 7

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

Silverlight поддерживает некоторого рода «мини-язык», который позволяет описывать весь PathGeometry в строке. В этом языке объекты PathFigure и PathSegment замещены буквами (такие как M, что означает Move (Перемещение), L – Line (Линия), A – Arc (Дуга), и C – Cubic Bezier (Кубическая кривая Безье)). Каждый новый PathFigure начинается с команды Move. Этот синтаксис описан в разделе Graphics (Графические элементы) в онлайн-документации по Silverlight.

Читать »

Концепция свойства Content

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

Button наследуется от класса Control, но также и от ContentControl (Элемент управления содержимым). ContentControl – это класс, описывающий свойство Content кнопки. Свойство Content можно вынести как свойство-элемент:

<Button>

<Button.Content>

Читать »

Отрисовка линий Windows Phone 7

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

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

Читать »

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

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

Удалим все имеющиеся задания FontStyle и присвоим атрибутам TextBlock следующие значения:

<TextBlock Text="Hello, Windows Phone 7!" FontSize="3 6" Foreground="Red" />

Поскольку это XML, мы можем разделить тег TextBlock на открывающий и закрывающий теги, ничего не вставив между ними:

Читать »

События изменения ориентации экрана Windows Phone 7

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

Во многих приложениях на Silverlight, приводимых в данной книге, свойству SupportedOrientations будет задано значение PortraitOrLandscape, я постараюсь создавать не зависящие от ориентации экрана приложения. Для приложений на Silverlight, которые принимают текстовый ввод, критически важно, чтобы ориентация приложения соответствовала расположению клавиатуры (если таковая имеется). А то, как будет располагаться клавиатура, предвидеть невозможно.

Читать »

Базы данных и бизнес-объекты

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

Использовать ListBox для отображения объектов Color или FontFamily можно в каких-то специализированных приложениях, но что вы собираетесь поместить в свой элемент управления списками?

Как правило, ItemsControl или ListBox заполняются этими непонятными, но при этом повсеместно применяющимися сущностями, которые называют бизнес-объектами.

Читать »

Наследование от UserControl

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

Как было показано, для введения некоторых дополнительных свойств можно наследоваться от класса, производного от Control. Чтобы создать совершенно новый элемент управления, можно наследоваться напрямую от Control (или от ContentControl, если элемент управления должен иметь свойство Content). Но наследование от Control или ContentControl по всем правилам подразумевает создание в XAML шаблона по умолчанию, который описывал бы внешний вид элемента управления, и обеспечение возможности замены этого шаблона в случае необходимости переопределения визуального представления элемента управления.

Читать »

Эллиптическая траектория Windows Phone 7

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

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

Читать »