Что означает "{x: Static}" в XAML? - PullRequest
33 голосов
/ 03 февраля 2009

Что означает {x:Static} в XAML?

Пример кода:

<SolidColorBrush Color="{x:Static SystemColors.ControlColor}" />

Ответы [ 3 ]

60 голосов
/ 03 февраля 2009

Это способ вставить любое статическое значение в XAML. Например, если у меня есть класс:

namespace A 
{ 
    public class MyConstants 
    {
        public static readonly string SomeConstantString = "BAM!";
    }
}

Я могу поместить его в пользовательский интерфейс WPF, используя XAML следующим образом:

<TextBlock Text="{x:Static A:MyConstants.SomeConstantString}" />

Обратите внимание, вам придется импортировать пространство имен, в котором определены MyConstants, в ваш XAML. Поэтому в элементе or сделайте что-то вроде:

xmlns:A="clr-namespace:A"
6 голосов
/ 03 февраля 2009

Из MSDN: http://msdn.microsoft.com/en-us/library/ms742135.aspx

Ссылается на любой статический объект кода по значению, определенный способом, совместимым со спецификацией общего языка (CLS). Указанное свойство оценивается до загрузки оставшейся части страницы XAML и может использоваться для предоставления значения свойства в XAML.

0 голосов
/ 03 февраля 2009

Я нашел вопрос XAML - Доступ к статическим полям с ответом, который ссылается на документацию MSDN x: расширение статической разметки . Я подумал, что это все равно будет полезно иметь на сайте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...