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

Вопросы архитектуры приложений Windows Phone 7

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

Приложение на Silverlight для Windows Phone 7 включает несколько стандартных классов:

•                                   класс App, производный от Application;

Читать »

Иерархия класса Button

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

Это полная иерархия классов ветки класса ButtonBase (Базовая кнопка):

Control (абстрактный) ContentControl

ButtonBase (абстрактный) Button

HyperlinkButton RepeatButton (запечатанный)

ToggleButton

Читать »

Аффинные и неаффинные преобразования Windows Phone 7

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

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

Читать »

Состояние страницы Windows Phone 7

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

Проект SilverlightFlawedTombstoning – это простое одностраничное приложение на Silverlight, которое отвечает на касания экрана изменением цвета фона ContentGrid случайным образом и выводит в заголовке страницы общее число касаний. Все самое интересное происходит в файле выделенного кода:

Читать »

Анимации Windows Phone 7

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

Anima в переводе с латыни примерно означает «жизненная сила», очень близкое к греческому psyche – «дух». Таким образом, введение анимации в приложения можно рассматривать как процесс «оживления» неживых (или неодушевленных) объектов.

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

Читать »

Анимация трансформации перспективы Windows Phone 7

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

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

Читать »

Графическое представление Windows Phone 7

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

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

Читать »

Вопросы компоновки Windows Phone 7

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

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

Читать »

Сохранение содержимого целевого объекта прорисовки Windows Phone 7

Добавлено Дата: 13 December, 2011 категория: Разработка для Windows Phone 7

Ранее я упоминал, что для описания каждого пиксела заднего буфера Windows Phone 7 – и самого экрана – выделяется лишь 16 бит. Так какого же формата растровое изображение создает RenderTarget2D?

По умолчанию RenderTarget2D создается с разрешением 32 бита на пиксел – по 8 бит для красного, зеленого, синего и альфа каналов – соответственно члену перечисления SurfaceFormat.Color. Больше об этом формате я смогу сказать в конце данной главы, но в наши дни данный 32-разрядный формат считается достаточно стандартным. Это единственный формат цвета, поддерживаемый растровыми изображениями Silverlight, например.

Читать »

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

Добавлено Дата: 12 December, 2011 категория: Разработка для Windows Phone 7

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

Читать »

Два примера использования ScrollViewer

Добавлено Дата: 11 December, 2011 категория: Разработка для Windows Phone 7

Если StackPanel включает больше элементов, чем помещается на экране (или любом другом контейнере, в котором располагается StackPanel), самые нижние (или правые) элементы будут не видны.

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

Читать »

Динамические многоугольники Windows Phone 7

Добавлено Дата: 10 December, 2011 категория: Разработка для Windows Phone 7

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

Читать »

Музыкальные классы XNA: MediaPlayer

Добавлено Дата: 10 December, 2011 категория: Разработка для Windows Phone 7

Для отображения музыки, хранящейся в музыкальной библиотеке, мы используем XNA-класс MediaLibrary и связанные с ним классы. Воспроизведение же музыки осуществляется с помощью статического XNA-класса MediaPlayer (Проигрыватель мультимедиа).

Класс MediaPlayer воспроизводит либо объект Song, либо все песни коллекции SongCollection, либо все песни коллекции SongCollection, начиная с заданного индекса. Такая функциональность обеспечивается тремя разновидностями статического метода MediaPlayer.Play.

Читать »

Панорамирование и масштабирование Windows Phone 7

Добавлено Дата: 10 December, 2011 категория: Разработка для Windows Phone 7

Весь остальной код перегруженного Update посвящен обработке сенсорного ввода. Идея здесь проста: любое касание, перемещение, изменение масштаба не приводит к необратимым изменениям. Эффект перемещения и масштабирования обеспечивается изменением объекта Matrix под именем drawMatrix (Матрица рисования), которая используется в вызове Begin объекта SpriteBatch.

Читать »

Вложенные панели Windows Phone 7

Добавлено Дата: 10 December, 2011 категория: Разработка для Windows Phone 7

StackPanel могут быть вложены друг в друга, что имеет больше смысла в случае, если они по- разному ориентированы. Рассмотрим приложение, где две вертикальные панели вложены в одну горизонтальную:

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

Читать »