Грамматика XamlName

Грамматика XamlName — это специальная грамматика, определенная в спецификации языка XAML [MS-XAML], которая воспроизводится здесь для удобства.

Из спецификации XAML

Спецификация [MS-XAML] определяет грамматику XamlName для идентификации набора юридических символических идентификаторов, используемых для типов и свойств.

Строковые значения типа XamlName должны соответствовать следующей грамматике:

XamlName ::= NameStartChar ( NameChar )*
NameStartChar ::= LetterCharacter | '_'
NameChar ::= NameStartChar | DecimalDigit | CombiningCharacter
LetterCharacter ::= UnicodeLu | UnicodeLl | UnicodeLo | UnicodeLt | UnicodeNl
DecimalDigit ::= UnicodeNd
CombiningCharacter ::= UnicodeMn | UnicodeMc

Это предполагает следующие общие значения категорий, как определено в базе данных символов Юникода

Категория Юникода Description
Lu Буква: прописные буквы
Ll Буква: строчные буквы
Lt Буква: заглавный регистр
Lm Буква: модификатор
- Буква: другие
Mn Метка: без пробелов
Mc Метка: комбинированная
Nd Число: десятичное
Nl Число: буква

XAML определяет вторую грамматику, DottedXamlName, которая используется для полных ссылок на свойства и события, а также для присоединенных членов. Чтобы получить дополнительные сведения, см. DependencyProperty и Общие сведения о XAML (WPF .NET).

Строковые значения типа DottedXamlName должны соответствовать следующей грамматике:

DottedXamlName ::= XamlName '.' XamlName

Замечания

Полная спецификация описана в [MS-XAML].