Вы должны понимать, что {x:static}
- это расширение разметки, которое просто используется для разрешения свойства Member
во время выполнения с XAML-сервисами, которые размещаются в другой сборке. См. x: Stati c Расширение разметки на MSDN:
Вы можете сделать x: Stati c ссылки на поля или свойства stati c, которых нет в пространство имен XAML по умолчанию для текущего документа XAML; однако для этого требуется отображение префикса. Пространства имен XAML почти всегда определяются в элементе root документа XAML.
Операции поиска для свойств stati c могут выполняться. NET XAML Services и его программами чтения XAML и пишущими XAML, когда они работают с контекстом схемы XAML по умолчанию.
Таким образом,
<TextBlock Text="{x:Static local:Resource1.String1}" />
совпадает с:
<TextBlock Text="{x:Static Member=local:Resource1.String1}" />
Поскольку внутреннее свойство может ' Не может быть проанализировано сообщение об ошибке по умолчанию о том, что Member
должно быть выдано:
Кодовая ссылка, на которую ссылается, должна быть одной из следующих:
- A Константа
- Состояние c Свойство
- Поле
- Значение перечисления
Указание любого другого объекта кода, например, нонстати c свойство, вызывает ошибку времени компиляции, если XAML компилируется с разметкой, или исключение синтаксического анализа времени загрузки XAML.