encyklopedia.space

XAML

XAML (Extensible Application Markup Language) jest językiem znaczników opartym na XML, służącym do definiowania interfejsu użytkownika oraz powiązania danych w aplikacjach platformy .NET. Najczęściej wykorzystywany jest w technologiach Windows Presentation Foundation (WPF), Universal Windows Platform (UWP) oraz Silverlight.

Historia

Pierwsza wersja XAML pojawiła się w ramach projektu WPF w 2006 roku, będąc integralną częścią platformy .NET Framework 3.0. Jego rozwój był kontynuowany w kolejnych wersjach .NET oraz w Windows 8, gdzie XAML stał się podstawą budowy interfejsu w UWP. Do dziś język jest rozwijany i wspierany w Visual Studio oraz w otwartym edytorze Blend for Visual Studio.

Składnia i elementy

Podstawą XAML jest drzewo elementów opisujących elementy interfejsu. Każdy element jest reprezentowany jako znacznik XML, a jego właściwości definiowane są jako atrybuty lub zagnieżdżone elementy.

  • <Button> – przycisk interaktywny.
  • <TextBox> – pole tekstowe.
  • <Grid> – kontener o układzie siatki.
  • <StackPanel> – kontener układający elementy wzdłuż jednej osi.
  • <DataTemplate> – szablon prezentacji danych.
  • <Binding> – deklaratywne wiązanie danych.

Powiązanie danych (Data Binding)

Jedną z kluczowych zalet XAML jest mechanizm powiązania danych, umożliwiający automatyczną synchronizację wartości właściwości obiektów modelu (np. klasy C#) z elementami interfejsu. Przykładowy zapis:

<TextBlock Text="{Binding Path=Imie, Mode=OneWay}" />

Wartość właściwości Imie w modelu jest wyświetlana w kontrolce TextBlock i aktualizowana automatycznie przy zmianie źródła.

Zastosowania

XAML jest wykorzystywany w różnych typach aplikacji:

  1. Aplikacje desktopowe w WPF – bogaty interfejs graficzny, animacje, szablony.
  2. Aplikacje uniwersalne w UWP – kompatybilność z różnymi urządzeniami Windows.
  3. Aplikacje webowe oparte na Silverlight – przestarzałe, ale historycznie ważne.
  4. Aplikacje mobilne – przy użyciu Xamarin.Forms, gdzie XAML definiuje UI dla iOS, Androida i Windows.

Narzędzia i środowiska

Projektowanie interfejsu w XAML odbywa się najczęściej w następujących środowiskach:

Przykładowy kod

Poniżej znajduje się prosty przykład aplikacji WPF wyświetlającej przycisk i pole tekstowe:

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Demo XAML" Height="200" Width="300">
    <Grid>
        <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
            <TextBlock Text="Witaj w XAML!" FontSize="16" Margin="0,0,0,10"/>
            <Button Content="Kliknij mnie" Width="120" Height="30"/>
        </StackPanel>
    </Grid>
</Window>

Powiązane pojęcia

W kontekście XAML istotne są także następujące pojęcia i technologie:

  • MVVM (Model-View-ViewModel) – architektura aplikacji ułatwiająca separację logiki i widoku.
  • Style i Template – mechanizmy pozwalające definiować wygląd i zachowanie kontrolki.
  • Dictionary zasobów – centralne miejsce przechowywania stylów, szablonów i innych zasobów.
  • Triggers – deklaratywne reakcje UI na zmiany stanu.

Patenty i licencje

Język XAML oraz powiązane biblioteki są udostępniane na licencji MIT w ramach .NET, co umożliwia ich wykorzystanie zarówno w projektach komercyjnych, jak i otwarto‑źródłowych.

Zobacz także

Windows Presentation Foundation | Universal Windows Platform | C# | MVVM | Data Binding