Блог Скотта Гатри: Руководство по 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 для получения такой возможности).
Пусть именем нашего проека будет "DiggSample". Затем кликаем "OK". Появится диалоговое окно, которое позволит нам выбрать, хотим ли мы создать проект только для Silverlight приложения, или опционально добавить ASP.NET проект для хоста Silverlight приложения в нем.
Для этого примера мы выберем добавление проекта ASP.NET Web Application в решение, назвав его "DiggSample_WebServer". Затем кликнем "ОК", Visual Studio создаст решение для нас, с Silverlight Client Application и ASP.NET Web Server внутри:
Когда мы сделаем "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), которые ассоциированы с этими файлами.
XAML файлы - это текстовые XML файлы, которые могут быть использованы для декларативного описания пользовательского интерфейса в Silverlight или WPF приложениях. XAML может быть также использован в более широком смысле: для декларативного описания .NET объектов.
App.xaml файл обычно используется для объявления ресурсов, таких как кисти и стили объектов, которые доступны для всего приложения. Класс, асоциированный с App.xaml может быть использован для обработки событий приложения, таких как запуск приложения, завершение работы приложения, UnhandledException.
Page.xaml файл по умолчанию используется для запуска элементов управления пользовательского интерфейса, которые загружаются, когда приложение активизируется. С помощью него мы можем использовать элементы управления UI для описания нашего интерфейса пользователя, и затем обрабатывать события с помощью ассоциированного класса (на самом деле мы можем гораздо больше, но об этом позже).
Когда мы выполняем построение проекта (build), Visual Studio по умолчанию компилирует код и XAML разметку в стандартный файл .NET сборки, и затем упаковывает ее и другие статические ресурсы (такие, как изображения или другие статические файлы, которые мы хотим включить в нее) в "DigSample.xap" файл на диск:
".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 файл в проекте и добавив туда некоторое содержание:
Начнем, изменив содержание Grid, описанием кнопки внутри него. Добавим кнопку со значением аттрибута "x.Name" как "MyButton" - это позволит нам программно ссылаться на нее из кода ассоциированного класса. Также мы установим свойства Content, Width и Height:
При запуске приложения наша кнопка отобразится на странице с надписью Push Me! внутри:
Для добавления функциональности нашей кнопке мы добавим обработчик событий "Click" в нее. Мы можем сделать это, набрав в исходном тексте имя события:
Затем нас спросят, какой обработчик событий из ассоциированного класса мы хотим использовать:
Мы можем ввести или новое имя обработчика событий, которое мы хотим использовать, или просто нажать Enter (сгенерируется имя по умолчанию):
VS автоматически создаст код обработчика событий в ассоциированном файле класса. Мы можем использовать этот обработчик событий для обновления содержимого кнопки новым сообщением, когда она нажата:
После внесения изменений мы можем перезапустить приложение и нажать кнопку снова, и теперь ее содержимое сменится на "Pushed!".
Продолжение следует...
Официальная английская версия статьи тут.
Опубликовано
15 октября 2008 г. 11:28
в
Под пристальным взглядом... Трухина Юрия
7
Просмотров: 2724