Rozszerzalny język znaczników aplikacji — Extensible Application Markup Language

Extensible Application Markup Language (XAML)
Rozszerzenie nazwy pliku
.xaml
Rodzaj mediów internetowych
aplikacja/xaml+xml
Opracowany przez Microsoft
Pierwsze wydanie czerwiec 2008 ( 2008-06 )
Najnowsze wydanie
v2009
(16 kwietnia 2010 ; 11 lat temu ) ( 2010-04-16 )
Rodzaj formatu Język znaczników interfejsu użytkownika
Rozszerzony z XML

Extensible Application Markup Language ( XAML / oo ć m əl / ( słuchać )O tym dźwięku ) jest deklaratywne XML -na język opracowany przez Microsoft , który jest używany do inicjowania strukturyzowanych wartości i obiektów. Jest dostępny w ramach Open Specification Promise firmy Microsoft . Akronim pierwotnie oznaczał Extensible Avalon Markup Language, a Avalon to nazwa kodowa Windows Presentation Foundation (WPF).

XAML jest szeroko stosowany w technologiach .NET Framework 3.0 i .NET Framework 4.0 , w szczególności w aplikacjach Windows Presentation Foundation (WPF), Silverlight , Workflow Foundation (WF), Windows UI Library (WinUI) i Windows Store. W WPF XAML tworzy język znaczników interfejsu użytkownika do definiowania elementów interfejsu użytkownika, powiązania danych, zdarzeń i innych funkcji. W WF przepływy pracy można definiować przy użyciu XAML. XAML może być również używany w aplikacjach Silverlight , Windows 10 Mobile (wcześniej Windows Phone ) i aplikacjach Universal Windows Platform , zwanych również aplikacjami Windows Store .

Elementy XAML są mapowane bezpośrednio na wystąpienia obiektów środowiska uruchomieniowego języka wspólnego , podczas gdy atrybuty XAML są mapowane na właściwości środowiska uruchomieniowego języka wspólnego i zdarzenia w tych obiektach. Pliki XAML można tworzyć i edytować za pomocą narzędzi do projektowania wizualnego, takich jak Microsoft Expression Blend , Microsoft Visual Studio i hostowanego wizualnego projektanta Windows Workflow Foundation . Można je również tworzyć i edytować za pomocą standardowego edytora tekstu, edytora kodu, takiego jak XAMLPad , lub edytora graficznego, takiego jak Vector Architect .

Wszystko, co jest utworzone lub zaimplementowane w XAML, może być wyrażone przy użyciu bardziej tradycyjnego języka .NET, takiego jak C# lub Visual Basic .NET . Kluczowym aspektem tej technologii jest jednak zmniejszona złożoność potrzebna narzędziom do przetwarzania XAML, ponieważ jest ona oparta na XML.

Technologia

Plik XAML można skompilować do pliku .BAML ( Binary Application Markup Language ), który można wstawić jako zasób do zestawu .NET Framework. W czasie wykonywania aparat struktury wyodrębnia plik .BAML z zasobów zestawu, analizuje go i tworzy odpowiednie drzewo wizualne lub przepływ pracy WPF.

W przypadku użycia w Windows Presentation Foundation XAML jest używany do opisywania wizualnych interfejsów użytkownika . WPF pozwala na definiowanie obiektów 2D i 3D, obrotów, animacji oraz wielu innych efektów i funkcji.

Gdy jest używany w kontekstach Windows Workflow Foundation, XAML jest używany do opisywania potencjalnie długotrwałej logiki deklaratywnej, takiej jak te utworzone przez narzędzia do modelowania procesów i systemy reguł. Serializacji format przepływów pracy była wcześniej nazywana XOML , aby odróżnić go od UI znaczników wykorzystania XAML, ale teraz są już nie wyróżnia. Jednak rozszerzenie pliku dla plików zawierających znaczniki przepływu pracy to nadal „XOML”.

Szablony

XAML używa określonego sposobu definiowania wyglądu i działania o nazwie Template s; różni się od składni kaskadowego arkusza stylów , jest bliższy XBL .

Przykład

Ten przykład Windows Presentation Foundation pokazuje tekst „Hello, world!” w kontenerze XAML najwyższego poziomu o nazwie Canvas.

<Canvas xmlns="http://schemas.microsoft.com/client/2010"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <TextBlock>Hello, world!</TextBlock>

Schemat ( xmlns="http://schemas.microsoft.com/..."część) może wymagać zmiany, aby działał na twoim komputerze. Korzystając ze schematu zalecanego przez Microsoft, przykładem może być również

<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
  <TextBlock>Hello, world!</TextBlock>
</Canvas>

Można to zintegrować ze stroną sieci Web, jeśli WPF jest zainstalowany przy użyciu XBAP (aplikacji przeglądarki XAML), które są skompilowanymi aplikacjami działającymi w środowisku piaskownicy hostowanym w przeglądarce. Innym sposobem jest użycie wtyczki Silverlight . Kod nie może być zawarty bezpośrednio na stronie HTML ; raczej musi być załadowany na stronę przez JavaScript . Jeśli zainstalowany jest program .NET 3.0 lub nowszy, luźne pliki XAML można również wyświetlać samodzielnie w zgodnej przeglądarce sieci Web (w tym Internet Explorer i Firefox ) w połączeniu z .NET Framework 3.0, bez potrzeby korzystania z wtyczki Silverlight. Luźne pliki XAML to pliki zawierające tylko znaczniki ograniczone do definiowania zawartości wizualnej do renderowania. Nie są kompilowane z aplikacją.

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>XAML Example</title>
    <script type="text/javascript" src="MySilverlight.js" />
    <script type="text/javascript" src="Silver.js" />
  </head>
  <body>
    <div id="MySilverlight" >
    </div>
    <script type="text/javascript">
      createMySilverlight();
    </script>
  </body>
</html>

Plik MySilverlight.js musi zawierać kod, który ładuje powyższy kod XAML (jako plik XML) w elemencie HTML MySilverlight .


Kluczową częścią wykorzystania pełnego potencjału języka XAML jest odpowiednie wykorzystanie powiązania, a także wygoda tworzenia własnych niestandardowych elementów użytkownika zgodnie z wymaganiami dla określonych potrzeb. Wiązanie można wykonać w następujący sposób:

<TextBox x:Name="txtInput" />
<TextBlock Text={Binding ElementName=txtInput,Path=Text} />

Różnice między wersjami XAML

Istnieją trzy główne implementacje XAML firmy Microsoft:

Te wersje mają pewne różnice w zachowaniu podczas analizowania.

Ponadto analizator składni XAML Silverlight 4 nie jest w 100% zgodny wstecznie z plikami Silverlight 3. Zaakceptowane pliki XAML Silverlight 3 mogą nie być akceptowane lub są analizowane w inny sposób przez analizator Silverlight 4.

Krytyka użycia XAML GUI w Silverlight

Europejski Komitet interoperacyjnych systemów powiedział w 2007 roku, że wykorzystanie przez Microsoft XAML w Silverlight produkt skierowany do wprowadzenia treści na World Wide Web, które mogą być dostępne tylko z systemem Windows platformie. Za pomocą wtyczki kod XAML jest widoczny w niektórych przeglądarkach innych niż Microsoft w systemach Windows, Linux i Mac ; Microsoft wspierał przeglądarkę Novell Silverlight dla systemu Linux o nazwie Moonlight . Od stycznia 2010 Moonlight 2 był kompatybilny z Silverlight 2, ale rozwój Moonlight został później przerwany.

Zobacz też

Bibliografia

Zewnętrzne linki