XAML

XAML (чете се „замъл“) (от английски: Extensible Application Markup Language) e декларативен маркъп език използван за иницализиране на структурирани стойности и обекти. Базиран е на XML, създаден от Microsoft с цел опростяване на създаването на потребителски интерфейс (UI) за .NET приложения.

Езикът е представен през 2006 г. заедно с WPF (Windows Presentation Foundation) в .NET 3.0. WPF е графична подсистема за рендериране на потребителски интерфейс в Windows-базирани приложения, която ползва XAML. Впоследствие през 2007 г. е представен Silverlight, който е фреймуърк изпълняващ функции, много близки до тези на Adobe Flash. През 2011 г. е представен и Windows Runtime XAML Framework, който върши същото за програми в новия „Metro“ стил.

Основните предимства на XAML са че разделя UI от бизнес логиката и че позволява едновременно да са работи върху логиката и интерфейса на една програма с различни инструменти (Visual Studio и Microsoft Expression Blend).

Елементите на XAML са директно свързани със CLR обекти, а атрибутите– със CLR свойства и събития върху тези обекти. XAML файловете могат да бъдат редактирани с инструменти за визуален дизайн като Microsoft Expression Blend и Microsoft Visual Studio, както и със стандартни текстови редактори, кодови редактори като XAMLPad или графични редактори като Vector Architect.

Всичко създадено или имплементирано с XAML може да бъде направено и с по-традиционен .NET език като C# или Visual Basic.NET. Понеже е базиран на XML, обаче, XAML е по-прост, а и девелъпъри и дизайнери могат да споделят и редактират съдържанието на един проект свободно помежду си без да е нужна компилация.

Синтаксис

Синтаксисът на XAML реално е чист XML и силно наподобява HTML– идеята му е да се правят потребителски интерфейси за различни програми.

Накратко XAML се състои от Елементи (Button, Template, Grid) и Свойства(нещата които различават елементите, характеристики– Width, Height), като Елементите могат да притежават Свойства.

Основни Елементи

Панелите се използват за оформяне на лейаут на интерфейса. В тях се поставят другите елементи и целта на панела е да се декларира местоположението на тези елементи.

Основни Свойства

Свойства-елементи

За някои свойства, синтаксиса за нормалните свойства не върши работа, защото обектът или информацията, нужна да се даде стойност на свойството, не може да се представи адекватно заради ограниченията представени от кавичките и низа. В такива случаи се използва друг синтаксис, в който свойството се представя като елемент със стартов таг <имеНаТип.имеНаСвойство>.

Този код обявява бутон с текст „Това е бутон“, син цвят на фона и червен цвят на съдържанието.

Ресурси

Стилове

Чрез стилове могат да се променят началните стойности на свойствата на елемента, към който стилът е приложен. Могат да се дефинират и тригери. Стиловете предлагат доза удобство– пишат се веднъж в кода, след което биват повиквани чрез името си. Също така могат да се дефинират в отделни файлове (предпочитания вариант).

Стиловете силно напомнят CSS (Cascading Style Sheets).

Темплейтите са подобни на стиловете. Разликата е, че темплейтът може да променя освен свойствата на елементите, самите елементи– може да ги трие, да добавя нови, да ги пренарежда и т.н.

Тригери

В XAML определени функции могат да се задействат при определени събития чрез тригер-и (от английското trigger– спусък). Тригерите могат да са три типа:

Този код поставя светлозелен квадрат, който става червен, когато потребителя премести мишката върху квадрата.

С изключение на евент тригерите, тригери могат да се ползват само в стилове и темплейти. Лесен начин да се справим в този проблем е да сложим целия код във ето такава рамка:

Пример

Този пример показва текст „Hello World!“.

Примерът (xmlns=“http://schemas.microsoft.com…“) може да трябва да се промени за да работи на вашия компютър.

Версии

Има четири имплементации на XAML:

XAML файловете, които се приемат от Silverlight 3 може да не се приемат от по-новата версия.

Източници

Беше ли полезна тази статия?

Оцени я!

Среден рейтинг / 5. Брой гласове:

Ако намираш статията за полезна...

Последвай ни в социалните мрежи!

Съжаляваме, че тази статия не ти беше полезна!

Помогни ни да променим това!