XamlName Grammar

XamlName Grammar is a specific grammar that is defined in the XAML language specification [MS-XAML], which is reproduced here for convenience.

From the XAML Specification

The [MS-XAML] specification defines the grammar XamlName to identify the set of legal symbolic identifiers used for types and properties.

String values that are of type XamlName must conform to the following grammar:

XamlName ::= NameStartChar (NameChar)*

NameStartChar ::= LetterCharacter | '_'

NameChar ::= NameStartChar | DecimalDigit | CombiningCharacter

LetterCharacter ::= UnicodeLu | UnicodeLl | UnicodeLo | UnicodeLt | UnicodeNl

DecimalDigit ::= UnicodeNd

CombiningCharacter ::= UnicodeMn | UnicWhich assumes the following general category values as defined in the Unicode Character Database

Abbr.

Description

Lu

Letter, Uppercase

Ll

Letter, Lowercase

Lt

Letter, Titlecase

Lm

Letter, Modifier

Lo

Letter, Other

Mn

Mark, Non-Spacing

Mc

Mark, Spacing Combining

Nd

Number, Decimal

Nl

Number, Letter

tter

XAML defines a second grammar, DottedXamlName, that is used for property and event qualified references, and also for attached members. For more information, see DependencyProperty and XAML Overview (WPF).

String values that are of type DottedXamlName must conform to the following grammar:

DottedXamlName ::= XamlName '.' XamlName

Remarks

For the complete specification, see [MS-XAML].