Az XAML egy olyan nyelvi elemet vezet be, melynek segítségével az olyan objektum elem, ami egy gyűjtemény típust reprezentál, elhagyható a leírásból. Amikor az XAML feldolgozó egy olyan tulajdonsághoz ér, amely gyűjtemény típust vár értékül, a tartalmazó osztályban definiált gyűjtemény referencia implicit létre jön, még akkor is ha nincs jelen objektum elem ahhoz a gyűjteményhez a leírásban. A gyűjtemény típusokhoz tartozó SDK referencia oldalakon, ez gyakran fel van tüntetve "Implicit Collection Syntax"-ként.
Az implicit gyűjtemény szintaktika elérhető azon típusokra melyek az IList vagy az IDictionary típusokból származnak, vagy tömbökre.
Az implicit gyűjtemény típus megfigyelhető az XAML erőforrásos példán:
A gyökér elem kivételével minden objektum elemre az oldalon, amely egy másik objektum elem gyermeke, a következő két eset valamelyike (vagy mind a kettő) vonatkozhat: az elem tagja egy implicit gyűjtemény tulajdonságának a szülő elemnek, vagy egy elem ami egy értéket szolgáltat a szülő elem XAML tartalom tulajdonnsága számára. Más szóval, a kapcsolat a szülő elemek és a gyermek elemek között a leíró oldalon igazából a következő: egy egyedül álló gyökér objektum létezik, és minden alá létrehozott elem egy osztály példány, ami egy tulajdonság értéket szolgáltat a szülőjének, vagy egy elem egy gyűjteményen belül, ami szintén egy gyűjtemény típusú tulajdonsága a szülőnek.
A következő példa az előző példával ekvivalens hatású, de a ResourceDictionary elemei explicit módon vannak leírva.
Másik lehetősége az XAML nyelvnek, hogy bármely osztálynak ami használható XAML objektum elemként, kiválasztható egy a tulajdonságai közül, hogy az legyen az XAML tartalom tulajdonsága az osztálynak. Amikor az XAML feldolgozó kezel egy objektum elemet, aminek van XAML tartalom tulajdonsága, ezen objektum bármely XML gyermeke úgy lesz feldolgozva, mintha egy implicit objektum tulajdonság érték lenne. Ez a speciális objektum tulajdonság a tartalom tulajdonság. A tartalom tulajdonság kiírása elhagyható, minden gyermek eleme az objektumnak automatikusan értékülk adódik ennek az attribútumnak.
Egy példa az implicit definiált tartalom tulajdonságra.
Belső szöveg és az XAML tartalom tulajdonság
A StackPanel Button példának van még egy változata.
A szövegnek mindig folytonosnak kel lennie. Az XAML leírásban a szöveg nem szakítható meg tagekkel.
Az XAML fájlnak csak egy gyökér eleme lehet, ahogy azt a jól formázott XML-nél is megszokhattuk. Tipikusan ez az elem határozza meg az alkalmazás modelt (Window, Page, ResourceDictionary, Application). A következő példa megmutatja, hogy hogyan kezdődik egy tipikus XAML fájl, ami egy WPF oldalt definiál.
x:Key: Egyedi kulcsot rendel egy erőforráshoz a ResourceLibrary-ben, hogy később hivatkozni lehessen rá.
x:Class:Meghatározza a feldolgozó CLR névteret és osztályt.
x:Name: Futás idejű nevet rendel egy elem példányhoz.
x:Static: Enged egy statikus értékre való hivatkozást, ami más esetben nem lenne engedélyezett XAML-ben.
x:Type: Típus referenciát hoz létre.
Az XAML névtér (x:) nyelvi elemei
Az XAML kis és nagybetű függő. Az objektum elemek, tulajdonságok és attribútum nevek megadásánál mindig ügyelni kell a kis és nagybetű különbségre. Ez igaz az XAML alatt lévő alkalmazás logikában meghatározott osztály nevekre is. Az értékek nem mindig kis és nagybetű érzékenyek. Az értékeknél ez a tulajdonság az alkalmazott konverter viselkedésétől függ. Például a Boolean konverter eltekint a kis és nagybetű különbségektől.
Az XAML feldolgozó figyelmen kívül minden lényegtelen whitespace-t, és a lényegeseket is normalizálja. Ez a viselkedés akkor lehet fontos, ha tartalom tulajdonságot adunk meg string fomrájában. A legyegyszerűbb esetekben XAML átkonvertálja a space-eket, tabulátorokat és sortöréseket space-é, aztán mindössze egy space-t hagy meg a következő string literálig.