Obory názvů XAML v Xamarin.Forms
XAML používá atribut xmlns XML pro deklarace oboru názvů. Tento článek zavádí syntaxi oboru názvů XAML a ukazuje, jak deklarovat obor názvů XAML pro přístup k typu.
Přehled
Existují dva deklarace oboru názvů XAML, které jsou vždy v rámci kořenového elementu souboru XAML. První definuje výchozí obor názvů, jak je znázorněno v následujícím příkladu kódu XAML:
xmlns="http://xamarin.com/schemas/2014/forms"
Výchozí obor názvů Určuje, že prvky definované v souboru XAML bez předpony odkazují na Xamarin.Forms třídy, například ContentPage .
Druhá deklarace oboru názvů používá x předponu, jak je znázorněno v následujícím příkladu kódu XAML:
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
XAML používá předpony k deklaraci nevýchozích oborů názvů s předponou použitou při odkazování na typy v rámci oboru názvů. xDeklarace oboru názvů Určuje, že prvky definované v rámci XAML s předponou x jsou používány pro prvky a atributy, které jsou vnitřní pro XAML (konkrétně specifikace XAML 2009).
Následující tabulka popisuje x atributy oboru názvů podporované nástrojem Xamarin.Forms :
| Konstrukce | Description |
|---|---|
x:Arguments |
Určuje argumenty konstruktoru pro jiný než výchozí konstruktor nebo pro deklaraci objektu metody Factory. |
x:Class |
Určuje obor názvů a název třídy pro třídu definovanou v jazyce XAML. Název třídy se musí shodovat s názvem třídy souboru kódu na pozadí. Všimněte si, že tato konstrukce se může vyskytovat pouze v kořenovém prvku souboru XAML. |
x:DataType |
Určuje typ objektu, který prvek XAML, a jeho podřízené objekty vytvoří vazby. |
x:FactoryMethod |
Určuje metodu objektu pro vytváření, která se dá použít k inicializaci objektu. |
x:FieldModifier |
Určuje úroveň přístupu generovaných polí pro pojmenované prvky XAML. |
x:Key |
Určuje jedinečný uživatelsky definovaný klíč pro každý prostředek v ResourceDictionary . Hodnota klíče se používá k načtení prostředku XAML a obvykle se používá jako argument pro StaticResource rozšíření značek. |
x:Name |
Určuje název běhového objektu pro prvek XAML. Nastavení x:Name je podobné deklaraci proměnné v kódu. |
x:TypeArguments |
Určuje argumenty obecného typu konstruktoru obecného typu. |
Další informace o x:DataType atributu naleznete v tématu x:DataType. Další informace o x:FieldModifier atributu naleznete v tématu x:FieldModifier. Další informace o x:Argumentsx:FactoryMethod atributech a naleznete v tématu x:Arguments. Další informace o x:TypeArguments atributu naleznete v tématu Generics in XAML with Xamarin.Forms .
Poznámka
Kromě atributů oboru názvů uvedených výše Xamarin.Forms obsahuje také rozšíření značek, která lze spotřebovat prostřednictvím x předpony oboru názvů. Další informace naleznete v tématu vybírání rozšíření značek XAML.
V jazyce XAML deklarace oboru názvů dědí z nadřazeného elementu na podřízený element. Proto při definování oboru názvů v kořenovém elementu souboru XAML zdědí všechny prvky v tomto souboru deklaraci oboru názvů.
Deklarace oborů názvů pro typy
Na typy lze odkazovat v jazyce XAML deklarováním oboru názvů XAML s předponou, s deklarací oboru názvů, která určuje název oboru názvů Common Language Runtime (CLR) a volitelně název sestavení. Toho dosáhnete tak, že definujete hodnoty pro následující klíčová slova v deklaraci oboru názvů:
- CLR-Namespace: nebo using: – obor názvů CLR deklarovaný v rámci sestavení, který obsahuje typy, které se mají zveřejnit jako prvky XAML. Toto klíčové slovo je povinné.
- Assembly = – sestavení, které obsahuje odkazovaný obor názvů CLR. Tato hodnota je název sestavení bez přípony souboru. Cesta k sestavení by měla být vytvořena jako odkaz v souboru projektu, který obsahuje soubor XAML, který bude odkazovat na sestavení. Toto klíčové slovo lze vynechat, pokud je hodnota CLR-Namespace v rámci stejného sestavení jako kód aplikace, který odkazuje na typy.
Všimněte si, že znak oddělující clr-namespaceusing token nebo z jeho hodnoty je dvojtečka, zatímco znak oddělující assembly token od jeho hodnoty je rovnítko. Znak, který se má použít mezi dvěma tokeny, je středníkem.
Následující příklad kódu ukazuje deklaraci oboru názvů XAML:
<ContentPage ... xmlns:local="clr-namespace:HelloWorld" ...>
...
</ContentPage>
Případně lze tento zápis zapsat jako:
<ContentPage ... xmlns:local="using:HelloWorld" ...>
...
</ContentPage>
localPředpona je konvence používaná k označení toho, že typy v oboru názvů jsou lokální pro aplikaci. Případně, pokud jsou typy v jiném sestavení, musí být název sestavení také definován v deklaraci oboru názvů, jak je znázorněno v následujícím příkladu kódu XAML:
<ContentPage ... xmlns:behaviors="clr-namespace:Behaviors;assembly=BehaviorsLibrary" ...>
...
</ContentPage>
Předpona oboru názvů je pak zadána při deklaraci instance typu z importovaného oboru názvů, jak je znázorněno v následujícím příkladu kódu XAML:
<ListView ...>
<ListView.Behaviors>
<behaviors:EventToCommandBehavior EventName="ItemSelected" ... />
</ListView.Behaviors>
</ListView>
Informace o definování schématu vlastního oboru názvů najdete v tématu schémata vlastního oboru názvů XAML.
Souhrn
Tento článek představil syntaxi oboru názvů XAML a ukázal, jak deklarovat obor názvů XAML pro přístup k typu. XAML používá xmlns atribut XML pro deklarace oboru názvů a typy mohou být odkazovány v jazyce XAML deklarováním oboru názvů XAML s předponou.