Главная » Статьи для тега "Silverlight"

Анимации, описанные в XAML

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

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

Перепишем приложение ClickAndSpin, определяя раскадровки и анимации в XAML. Рассмотрим область содержимого приложения XamlClickAndSpin:

Читать »

Элемент Path Windows Phone 7

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

Хотя классы Line, Polyline и Polygon удобны и просты в использовании, последний потомок Shape, класс Path (Контур), объединяет в себе практически всю их функциональность.

Класс Path самостоятельно определяет всего одно свойство: Data типа Geometry (Геометрический элемент). Геометрические элементы являются очень важной концепцией в векторной графике на Silverlight. В общем случае геометрический элемент – это коллекция прямых линий и кривых, некоторые из которых могут соединяться друг с другом (или нет) и определять замкнутые области (или нет). В некоторых графических средах разработки геометрические элементы называют контурами. В Silverlight Path – это элемент, использующий объект Geometry как значение свойства Data.

Читать »

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, но при работе с растровыми изображениями в этом, в общем, нет необходимости, потому что классы, предусмотренные для работы с растровыми изображениями, уже реализуют асинхронную загрузку.

Читать »

Привязка к 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 (фрагмент)

Читать »

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

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

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

Читать »

Стандартные файлы 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.

Читать »

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

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

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

Читать »

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

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

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

Читать »

Обновления привязок TextBox

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

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

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

Читать »

Приложение для телефона на XNA

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

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

Читать »

Свойства-зависимости Windows Phone 7

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

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

Наследование одного класса от другого является настолько базовым аспектом объектно- ориентированного программирования, что в том, чтобы посвящать ему целую главу, кажется, нет необходимости. С одной стороны, в наследовании пользовательских классов от существующих классов Silverlight нет ничего особенного. Полученный класс можно использовать в XAML, просто объявив пространство имен XML, чтобы связать префикс XML с пространством имен .NET. Именно это было продемонстрировано мною в главе 9 в двух проектах, представлявших примеры создания пользовательских панелей.

Читать »

Функции сглаживания Windows Phone 7

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

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

Читать »