Windows Live ID Добро пожаловать на IT Community 
Регистрация

Стань частью ИТ-сообщества

Хочешь найти своих друзей, коллег или просто интересных людей со схожими интересами в ИТ-области? Не теряй время...

Присоединяйся к нам!

Сергей Ермолин

Анна Стеценко

Денис Мерещенко


Все участники

Блог Скотта Гатри: Руководство по Silverlight. Часть1: Создание "Hello World" с Silverlight 2 и VS 2008. 

Эта часть - одно из восьми учебных пособий, демонстрирующих, как создавать простые клиентские приложения с помощью Silverlight 2. Эти учебные пособия лучше всего читать по порядку. Они помогут объяснить некоторые из основных концепций программирования Silverlight.

Исходный код к статье вы можете сказать здесь.

Создание нового приложения с использованием VS 2008.

Начнем создание нашего приложения с выбора пункта меню File->New Project в Visual Studio 2008 или Visual Web Developer 2008 Express (который является бесплатным). В появившемся окне New Project выбираем тип проекта Silverlight, шаблон проекта "Silverlight Application". (примечание: вам необходимо загрузить и установить Silverlight Tools для VS2008 для получения такой возможности).

step3

Пусть именем нашего проека будет "DiggSample". Затем кликаем "OK". Появится диалоговое окно, которое позволит нам выбрать, хотим ли мы создать проект только для Silverlight приложения, или опционально добавить ASP.NET проект для хоста Silverlight приложения в нем.

image

Для этого примера мы выберем добавление проекта ASP.NET Web Application в решение, назвав его "DiggSample_WebServer". Затем кликнем "ОК", Visual Studio создаст решение для нас, с Silverlight Client Application и ASP.NET Web Server внутри:

step5

Когда мы сделаем "build", Visual Studio автоматически скопирует скомпилированное приложение Silverlight в наш проект веб-сервера. Проект, который создала VS по умолчанию, содержит ASP.NET страницу и статическую HTML - страницу, которые мы можем использовать для запуска и тестирования нашего Silverlight приложения.

Примечание: Silverlight приложения могут быть использованы с любым Web-сервером (включая Apache на Linux) и размещены, внутри статических html файлов или любых генерируемых на стороне сервера страницах (включая PHP, Java, Python, Ruby и т. д.). Для нашего приложения Digg мы не можем писать любой код, выполняющийся на серверной стороне, вместо этого мы используем кросс-доменные сетевые особенности Silverlight для доступа к API сервиса Digg напрямую. Я выбрал создание ASP.NET проекта веб-сервера главным образом для получения автоматического развертывания и использования встроенного веб-сервера для тестирования.

Что такое Silverlight приложение?

По умолчанию, вновь созданное Silverlight приложение содержит файлы Page.xaml и App.xaml, а так же код файлов классов (который может быть написан на VB, C#, Ruby или Python), которые ассоциированы с этими файлами.

step6

XAML файлы - это текстовые XML файлы, которые могут быть использованы для декларативного описания пользовательского интерфейса в Silverlight или WPF приложениях. XAML может быть также использован в более широком смысле: для декларативного описания .NET объектов.

App.xaml файл обычно используется для объявления ресурсов, таких как кисти и стили объектов, которые доступны для всего приложения. Класс, асоциированный с App.xaml может быть использован для обработки событий приложения, таких как запуск приложения, завершение работы приложения, UnhandledException.

Page.xaml файл по умолчанию используется для запуска элементов управления пользовательского интерфейса, которые загружаются, когда приложение активизируется. С помощью него мы можем использовать элементы управления UI для описания нашего интерфейса пользователя, и затем обрабатывать события с помощью ассоциированного класса (на самом деле мы можем гораздо больше, но об этом позже).

Когда мы выполняем построение проекта (build), Visual Studio по умолчанию компилирует код и XAML разметку в стандартный файл .NET сборки, и затем упаковывает ее и другие статические ресурсы (такие, как изображения или другие статические файлы, которые мы хотим включить в нее) в "DigSample.xap" файл на диск:

step7

".xap" файлы (произносится как "зап") используют стандартные алгоритмы zip сжатия для уменьшения обьема информации для загрузки клиенту. Приложение "Hello World" .NET Silverlight  занимает около 4кб.

Для размещения и запуска приложения на Silverlight 2, вы можете добавить тэг <object> в любую стандартную HTML страницу (JavaScript не требуется), которая указывает на .xap файл. Silverlight автоматически загрузит .xap файл, создаст экземпляр, и разместит на HTML странице в браузере. Это работает с раздичными браузерами (Safari, Firefox, IE и т.д.) и различными платформами (Windows, Mac и Linux).

Тестовые HTML и ASP.NET страницы (содержащие тэг <object>, ссылающийся на наше Silverlight приложение) были автоматически добавлены, когда мы создали наш проект - это значит, что мы можем нажать F5 для построения, запуска и тестирования его.

Как добавить элементы управления и обработчики событий?

Сейчас наше приложение не делает ничего, и когда оно запущено, отображается пустая страница.

Мы можем изменить это, открыв Page.xaml файл в проекте и добавив туда некоторое содержание:

step8

Начнем, изменив содержание Grid, описанием кнопки внутри него. Добавим кнопку со значением аттрибута "x.Name" как "MyButton" - это позволит нам программно ссылаться на нее из кода ассоциированного класса. Также мы установим свойства Content, Width и Height:

step9

При запуске приложения наша кнопка отобразится на странице с надписью Push Me! внутри:

step10

Для добавления функциональности нашей кнопке мы добавим обработчик событий "Click" в нее. Мы можем сделать это, набрав в исходном тексте имя события:

step11

Затем нас спросят, какой обработчик событий из ассоциированного класса мы хотим использовать:

step12

Мы можем ввести или новое имя обработчика событий, которое мы хотим использовать, или просто нажать Enter (сгенерируется имя по умолчанию):

step13

VS автоматически создаст код обработчика событий в ассоциированном файле класса. Мы можем использовать этот обработчик событий для обновления содержимого кнопки новым сообщением, когда она нажата:

step15

После внесения изменений мы можем перезапустить приложение и нажать кнопку снова, и теперь ее содержимое сменится на "Pushed!".

step16

Продолжение следует...

Официальная английская версия статьи тут.

Опубликовано 15 октября 2008 г. 11:28 в Под пристальным взглядом... Трухина Юрия

Рейтинг7
Просмотров: 2724
Ответов: 5

Комментарий

TeraFlop 16 октября 2008 0:54
сказать здесь - опечатка :)
очень хороший перевод жду продолжения.
FEUER 16 октября 2008 4:41
Спасибо за перевод:)
Жду продолжения.
Chode 21 октября 2008 23:54
nfr crfpfnm Hello world! =) нашел по ссылке с оригинала =)
Silverlight ?? ???????????? ?????????????????????? » Blog Archive » ???????? ???????????? ??????????: ?????????????????????? ???? Silverlight. ??????????1: ???????????????? “Hello World” ?? Silverlight 2 ?? VS 2008. 23 октября 2008 23:22
PingBack from http://silverstudy.ru/2008/10/23/silverlight_part1_tutorial/
ASD_developer 6 ноября 2008 22:48
йоу, респект!
Анонимные комментарии не разрешены
RSS

Блог

Календарь

«Октябрь 2008 г.»
ПнВтСрЧтПтСбВс
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

Категории

Синдикация

Виртуальные сообщества

Сообщества сайтов (тэгами)