Примечание
Данный блок лекций по технологии Silverlight (лекции 18,19,20) описывает технологию версии 3.0, однако заметим, что все сказанное в них, справедливо и для последующих версий.
Silverlight приложения работают в таких браузерах, как Internet Explorer, Firefox и Safari. Из операционных систем поддерживается не только Windows, но и MacOS X для которой Microsoft выпускает официальный дистрибутив, а благодаря проекту Moonlight по соглашению Novell с Microsoft, Silverlight работает и на Linux. Также Silverlight в скором времени будет работать на мобильных устройствах с Windows Mobile и на смартфонах от Nokia.
(рис 18.1) Архитектура SilverlightОсновным механизмом программирования
Для создания еще более насыщенного и функционального интерфейса доступны все возможности .NET Framework CLR. Помимо того, что можно сделать в JavaScript, данная возможность предлагает множество пространств имен и элементов управления, поставляемых как часть .NET Framework, что позволяет делать вещи, которые было очень сложно, или вообще невозможно, реализовать в JavaScript. Например, доступ к данным с помощью ADO.NET и LINQ, обмен информацией с
Кроме того, среда формирования представления поставляется вместе с компонентами, необходимыми для обеспечения возможности воспроизведения в браузере файлов таких форматов, как H264, Windows Media Video (
В основе выполняющегося в браузере приложения обычно лежит HTML. Эта разметка содержит вызовы для создания экземпляров подключаемого модуля Silverlight. При взаимодействии с приложением Silverlight пользователи генерируют события, которые могут быть обработаны функциями JavaScript или .NET Framework. В свою очередь, код программы может вызывать методы элементов содержимого Silverlight для управления ими, добавления нового или удаления существующего содержимого. Наконец,
XAML – это язык на основе XML, который может использоваться для определения графических ресурсов, пользовательских интерфейсов, поведений, анимации и много другого. Он был представлен корпорацией Майкрософт как язык разметки, используемый в Windows Presentation Foundation, технологии для рабочей среды, являющейся частью .NET Framework 3.0. Он предназначен для упрощения совместной работы проектировщиков и разработчиков при создании приложений.
Обычно проектировщики использовали один набор средств и ресурсов для создания приложений, а разработчики – свои собственные средства. Несовпадение используемых наборов средств может отрицательно повлиять на создаваемое приложение. Корпорация Майкрософт представила новый набор средств Expression, в частности Microsoft Expression® Design и Microsoft Expression Blend, чтобы проектировщики могли компилировать графические артефакты и пользовательские интерфейсы соответственно, выражая конечный результат в XAML, который может использовать разработчик для создания приложения.
XAML, используемый в первом выпуске Silverlight, отличается от используемого в Windows Presentation Foundation тем, что является веб-ориентированным подмножеством полного XAML, доступного для настольных систем. По существу, если вы знакомы с XAML для Windows Presentation Foundation, вы заметите отсутствующие компоненты, например тег <Window>, ресурсы страниц,
В XAML элементы определяются с помощью тегов языка XML. На уровне корня любого документа Silverlight находится тег Canvas, определяющий пространство, в котором будут отрисованы элементы пользовательского интерфейса. В этом теге Canvas должны содержаться объявления пространства имен XML, необходимые Silverlight.
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
</Canvas>
У тега Canvas может быть один или несколько дочерних тегов, включая дочерние теги Canvas, которые могут создавать собственные дочерние теги. Дочерние для Canvas теги имеют относительные положения к родительскому тегу Canvas, а не к корневому тегу Canvas. Вот пример Canvas, содержащего прямоугольник, размещенным в 25 пикселях от верхнего левого угла
<Canvas Width="250" Height="200">
<Rectangle Canvas.Top="25" Canvas.Left="25"
Width="200" Height="150" Fill="Black" />
</Canvas>
XAML Silverlight поддерживает ряд фигур, которые могут быть скомпонованы в сложные объекты. Основные поддерживаемые фигуры – прямоугольник, эллипс, линия, многоугольник, ломаная линия и путь. Названия большинства фигур ясно говорят об их назначении. Ломаная линия позволяет определить ряд соединенных линейных сегментов. Путь позволяет определить нелинейный путь (похожий на кривую) на Canvas.
Кисти определяют способ рисования объектов на экране. Их содержимое рисуется с помощью метода Fill (Заливка), а контуры рисуются с помощью метода (Мазок). Существуют сплошные кисти, градиентные кисти и кисти в виде изображений. Сплошные кисти реализуются с использованием определенного цвета или атрибута заливки (например, в предыдущем примере использовалось Fill="Black" ) или с использованием SolidColorBrush в качестве вложенного свойства следующим образом.
<Rectangle Canvas.Top="25" Canvas.Left="25"
Width="200" Height="150">
<Rectangle.Fill>
<SolidColorBrush Color="Black" />
</Rectangle.Fill>
<Rectangle>
Цвета определяются по именам (поддерживается 141 имя цвета) или с помощью шестнадцатеричного определения RGB.
Градиентные кисти реализуются с помощью определения диапазона градиента или с помощью ряда точек градиента в нормализованном пространстве. Например, необходим
<Rectangle Width="200" Height="150" >
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<LinearGradientBrush.GradientStops>
<GradientStop Color="Red" Offset="0" />
<GradientStop Color="Black" Offset="1" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
Объекты также могут быть нарисованы с помощью ImageBrushes, а изображение будет обрезано или растянуто при необходимости. Например, можно указать заливку эллипса при использовании ImageBrush с помощью следующего кода XAML.
<Ellipse Width="200" Height="75" >
<Ellipse.Fill>
<ImageBrush ImageSource="http://.../logo.jpg" />
</Ellipse.Fill>
</Ellipse>
Текст отображается в XAML с помощью тега TextBlock. Это предоставляет возможность управления свойствами текста, такими как содержание, шрифт, размер, перенос и другими. Вот несколько примеров.
<TextBlock>Hello</TextBlock> <TextBlock FontSize="18">Hello</TextBlock> <TextBlock FontFamily="Courier New">Hello</TextBlock> <TextBlock TextWrapping="Wrap" Width="100"> Hello there, how are you? </TextBlock>
Кроме того, Silverlight поддерживает события клавиатуры, которые могут использоваться для реализации ввода текста. Событие клавиатуры ( KeyDown или KeyUp ) можно определить в корневом элементе и использовать аргументы события для установления нажатой клавиши.
Microsoft Expression Studio представляет из себя набор инструментов для дизайнеров и позволяющий им создавать компоненты, которые в дальнейшем могут использоваться разработчиками.
Expression Studio включает в себя:
(рис 18.2) Интерфейс Expression BlendExpression Blend обладает возможностью создания приложений Silverlight. При запуске Expression Blend и создании нового проекта предлагается два типа Silverlight проектов:
Этими двумя типами проектов Silverlight являются:
properties (свойства) с App.xaml с выделенным кодом, определяющим точки входа приложения, и базовую страницу с пустым холстом и файлом выделенного кода для него.
(рис 18.3) Интерфейс Expression EncoderExpression Encoder может использоваться для кодирования, улучшения и публикации видеосодержимого с использованием Silverlight. Expression Encoder поставляется с UI, единообразным по стилю, виду интерфейса и управлению с остальными приложениями Expression Studio, или с
Expression Encoder позволяет импортировать видео из любого формата, для которого в вашей системе доступен и установлен фильтр DirectShow. После этого Expression Encoder перекодирует видео в
Expression Design – это инструмент графического дизайна, с помощью которого можно создавать графические ресурсы приложений. Это мощный и сложный инструмент, поэтому в данной книге приводится просто обзор того, как он может применяться для Silverlight XAML.
Expression Design позволяет сочетать векторные и растровые изображения для обеспечения абсолютной гибкости. Expression Design поддерживает импорт множества форматов графических файлов, включая:
*.ai )*.psd ).gif ).png ).bmp, .dib , .rle ).jpeg, .jpg, .jpe, .jfif , .exif ).wdp, .hdp ).tiff, .tif ).ico )Поддерживается экспорт следующих типов изображений:
.pdf ).psd ).tif, .tiff ).jpeg, .jpg ).bmp ).png ).gif ).wdp )
(рис 18.4) Интерфейс Expression DesignExpression Design поддерживает экспорт графических ресурсов в виде XAML-файлов.
Выбор определенной опции обеспечивает форматирование рисунка с использованием подмножества элементов XAML, используемого Silverlight, что позволит импортировать полученный в результате XAML в Visual Studio или Expression Blend для построения Silverlight приложения.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.