XamlName Grammar is a specific grammar that is defined in the XAML language specification [MS-XAML], which is reproduced here for convenience.
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
Mark, Spacing Combining
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