Windows Presentation Foundation

XAML

XAML je speciální typ jazyka. Tento jazyk ve WPF slouží jako prostředek pro vytváření grafického rozhraní aplikací. Syntaxe tohoto jazyka se liší od C# nebo Visual Basic .NET. Jeho účelem je vytvořit objekty a logicky je uspořádat.

V XAML se nevytváří třídy, metody, datová pole, vlastnosti, události a další. Tyto konstrukce stále patří jazykům jako je C# nebo Visual Basic .NET. XAML tyto konstrukce dokáže jenom použít. Pomocí XAML je možné vytvořit například objekt třídy. Nebo je možné nastavit hodnotu některé z vlastností objektu.

Ukázka kódu napsaného v XAML
<StackPanel>
     <Button Width="120" Content="Tlačítko 1" Margin="0,5"/>
     <Button Width="120" Margin="0,5">Tlačítko 2
</StackPanel>
StackPanel – je jedním z layoutů uspořádávajících prvky
Button – tento element představuje objekt vytvořený od třídy Button
Width, Content, Margin – jedná se o atributy nastavující hodnoty vlastností objektu

Při vytvoření projektu WPF ve Visual Studiu je vytvořen soubor s názvem MainWindow.xaml. Tento soubor obsahuje hlavní okno aplikace a rozhraní aplikace. S tímto souborem je ještě vytvořen soubor MainWindow.xaml.cs. V tomto souboru je vytvořena třída MainWindow. Tato třída obsahuje takzvaný „code-behind“. Tedy kód tvořící interaktivní logiku aplikace. Vytváří se zde například obslužné rutiny událostí nebo libovolné další členy třídy. V této třídě se už používá jazyk C# nebo Visual Basic .NET.

Ukázka třídy MainWindow
public partial class MainWindow : Window
{
   public MainWindow()
   {
      InitializeComponent();

      //sem je možné psát další kód
   }

//Zde mohou být další součásti třídy (metody, datová pole, vlastnosti, události...)
}

Nejsnazší cesta jak vytvořit rozhraní ve Windows Forms a WPF je použitím designéru. Ten je součástí Visual Studia a dovoluje vytvářet rozhraní aplikace. Pokud se rozhraní aplikace vytváří pomocí designéru, kód je automaticky generován. Generovaný kód je umístěn ve Windows Forms v souboru <nazev_form>.Designer.cs (například Form1.Designer.cs). U WPF se vytváří přímo XAML kód (například v MainWindow.xaml). Ve WPF se vytvořený kód pomocí designéru může editovat. Naproti tomu u Windows Forms se to nedoporučuje.