KNOW INTUIT, Лекция, Разработка на приложения на Silverlight

Задача 1. Създаване на просто приложение Silverlight в Microsoft Visual Web Developer 2008 Express.

1) С помощта на елемента от менюто Файл -> Нов проект (или комбинации + + ) трябва да отворите прозорец, за да изберете шаблон на проект.

silverlight

Списъкът с проекти на Silverlight ще включва шаблони за приложение Silverlight (приложение Silverlight), приложение за навигация Silverlight (приложение Silverlight с поддръжка за навигация) и библиотека с класове Silverlight (библиотека с класове Silverlight). Трябва да изберете шаблона за приложение Silverlight и да посочите име и местоположение за новия проект. След като щракнете върху OK, ще се стартира съветникът за ново приложение Silverlight.

След това съветникът предлага няколко опции за създаване и управление на приложение Silverlight. Всички приложения на Silverlight се създават като потребителски контроли, които след това могат да бъдат създадени и поставени на уеб страница. Когато поставите отметка в квадратчето в горната част, към решението ще бъде добавен нов уеб проект. Последният може да бъде или ASP.NET уеб приложение, или ASP.NET уебсайт (или ASP.NET MVC, ако е инсталиран). За първата опция всичко необходимо за внедряване на приложението се съдържа в уеб сървъра на ASP.NET. Вторият вариант е по-опростена лека рамка, където страниците могат да се изпълняват от всеки сървър или дори файлова система.

know

Трябва да изберете опцията ASP.NET Web Site и да създадете проект.

silverlight

Вдясно можете да видите прозореца на структурата на проекта. Когато се разшири, структурата изглежда така:

разработка

Както можете да видите от фигурата, проектът съдържа две решения: основен контрол на Silverlight (SilverlighApplicationStart) и уебприложение (SilverlightApplicationStart.Web) . Базовият проект, генериран от шаблона, съдържа редица файлове, включително манифеста на приложението AppManifest.xml, XAML файла на приложението App.xaml с задния код App.xaml.cs, примерната страница Default.aspx с задния код на файла Default.aspx.cs, файла с информация за асемблирането AssemblyInfo.cs и някои препратки.

AppManifest.xml се създава, когато проектът се компилира. Ако проектът има някакви зависимости по време на изпълнение, като външни контроли, тогава те са посочени в този файл.

Файлът Assemblyinfo.cs съдържа метаданните, които трябва да бъдат компилирани в DLL.

Папката References съдържа препратки към редица сборки. Това са основните модули на Silverlight, които са необходими за стартиране на приложението.

  • Mscorlib – Тази сборка включва основните типове, използвани от приложенията Silverlight.
  • Система – Асемблирането включва много от типовете на високо ниво, използвани за разработване и отстраняване на грешки в Silverlight приложения, като например компилатор и класове за отстраняване на грешки и диагностика.
  • System.Core - Сглобяването включва основните контроли и класове на Silverlight.
  • System.Net - Асемблирането включва .NET библиотеките, необходими за работа в мрежа.
  • System.Xml – Този модул включва библиотеките Silverlight за XML обработка.
  • System.Windows – Този модул включва основна функционалност на Windows и Silverlight, включително контроли на Silverlight.
  • System.Windows.Browser - Асемблирането включва библиотеките, използвани за взаимодействие с браузъра.

Атрибутът x:Class дефинира името на класа, в който ще бъдат компилирани този XAML файл и свързаният с него файл с код App.xaml.cs:

Конструкторът App() се използва за свързванеметоди Application_Startup и Application_Exit .

Методите Application_Startup и Application_Exit приемат два параметъра: обект, който предизвиква събитието, и обект аргументи.

В метода Application_Startup, на свойството RootVisual (Visual Root) на приложението се присвоява нов обект, MainPage ( Main Page ). Това декларира, че UI на обекта Page (потребителски интерфейс) е първият UI, който това приложение трябва да създаде. Всички други екрани на потребителския интерфейс, декларирани в XAML, ще трябва да бъдат стартирани от обекта MainPage. Обектът MainPage е XAML обектът по подразбиране, създаден от шаблона за хостване на потребителския интерфейс на приложението.

Файлът MainPage.xaml е потребителският интерфейс по подразбиране за приложението. Когато се компилира заедно със свързания с него файл с код, той формира клас MainPage, екземпляр от който ще бъде обект MainPage:

XAML контейнерът е UserControl. Когато създавате Silverlight .NET приложения във Visual Studio, вие всъщност създавате контроли, които се компилират в .dll файл и се поставят в .xap файл, който Silverlight след това отваря и изпълнява.

Екземплярът UserControl се нарича SilverlightApplicationStart.MainPage, където SilverlightApplicationStart е пространството от имена, а MainPage е името на клас от това пространство от имена.

Декларациите xmlns и xmlns:x указват пространство от имена по подразбиране и незадължително пространство от имена, които да се използват за проверка на XAML.

Стойности по подразбиране за ширина и височина: 640? 480.

Следва основният елемент Grid. В Silverlight 3 основният елемент трябва да бъде елемент Container, който в този случай е Grid с име LayoutRoot. следователновсички елементи на дизайна на потребителския интерфейс са деца на този възел.

Помислете за маркирания код MainPage.xaml.cs:

Това е описанието на стандартния клас MainPage, който е извлечен от UserControl. Конструкторът на класа извършва обща конфигурация чрез извикване на метода InitializeComponent().

В следващите примери именно в този модул ще бъде добавен специфичен код за уеб приложения.

Шаблонът, в допълнение към контролния проект, създава и уеб проект, който хоства приложението Silverlight. Уеб проектът включва два .aspx файла: Default.aspx, който съдържа празен уеб формуляр, върху който можете да изградите своето приложение; и тестовата страница SilverlightApplicationStartTestPage.aspx, която съдържа всичко необходимо за стартиране на Silverlight от ASP.NET.

2) Създаване на проста сцена.

Поставете следния XAML във файла MainPage.xaml:

Сцената съдържа 4 обекта: контейнер ( Grid ) с червен цвят, жълт правоъгълник ( Rectangle ), бяла елипса ( Ellipse ) с атрибут за прозрачност и текстов блок ( TextBlock ) със син цвят.

След компилиране ( + +) и стартиране ( + ) на проекта в уеб браузър, документът ще се зареди автоматично: