Setter.Property Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public:
property DependencyProperty ^ Property { DependencyProperty ^ get(); void set(DependencyProperty ^ value); };
DependencyProperty Property();
void Property(DependencyProperty value);
public DependencyProperty Property { get; set; }
var dependencyProperty = setter.property;
setter.property = dependencyProperty;
Public Property Property As DependencyProperty
<Setter Property="propertyName"/>
Значение свойства
Свойство DependencyProperty, к которому будет применено значение. Значение по умолчанию — NULL.
Примеры
В этом примере показано, как использовать операторы Setter в стиле для элементов TextBlock .
<StackPanel>
<StackPanel.Resources>
<!-- Create a Style for a TextBlock to specify that the
Foreground equals Navy, FontSize equals 14, and
VerticalAlignment equals Bottom. -->
<Style TargetType="TextBlock" x:Key="TextBlockStyle">
<Setter Property="Foreground" Value="Navy"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="VerticalAlignment" Value="Bottom"/>
</Style>
</StackPanel.Resources>
<!-- Apply the TextBlockStyle to 2 different TextBlocks. -->
<TextBlock Style="{StaticResource TextBlockStyle}" Text=”Hello”/>
<TextBlock Style="{StaticResource TextBlockStyle}" Text=”World”/>
</StackPanel>
Можно также применить методы задания к значениям присоединенных свойств, указав имя присоединенного свойства в AttachedPropertyProvider. Форма PropertyName . Например, чтобы использовать метод задания для присоединенного свойства Canvas.Left, используйте this XAML.
<Setter Property="Canvas.Left" Value="100"/>
Комментарии
Необходимо указать свойства Property
и Value в методе задания. В противном случае возникает исключение (исключение синтаксического анализа или ошибка среды выполнения в зависимости от того, создается ли метод задания в XAML или изменяется в коде).
При доступе к экземпляру Setter с помощью кода нельзя изменить значение любого свойства экземпляра Setter , если значение свойства IsSealed родительского стиля равно true
. Это также сообщается свойством IsSealed в отдельном методе задания. Система устанавливает для этих свойств значение , true
когда среда выполнения применяет стили к элементам пользовательского интерфейса и отображает их в пользовательском интерфейсе. Попытка изменить запечатанный метод задания вызывает ошибку среды выполнения.
Для оформления присоединенного свойства можно использовать метод задания . В этом случае имя свойства зависимостей — это полное имя в XAML, которое также называет тип определения присоединенного свойства. Например, <Setter Property="AutomationProperties.LiveSetting" Value="Polite" />
можно использовать для задания значения присоединенного свойства AutomationProperties.LiveSetting в стиле для любого элемента управления или элемента пользовательского интерфейса.
Примечание
Средство синтаксического анализа XAML также принимает имена свойств зависимостей, которые включают соответствующий класс. Например, средство синтаксического анализа интерпретирует "Button.Background" или "Control.Background" как ссылку на свойство Background в стиле элемента Button. Однако квалификация по классам не требуется и приводит к потенциально запутанной разметке. При переносе XAML с других платформ вы можете столкнуться с использованием полных имен свойств или использовать их.
Определение свойств зависимостей
Как уже отмечалось, метод задания можно использовать только для настройки свойства с помощью стиля, если рассматриваемое свойство является свойством зависимостей. Свойства пользовательского интерфейса, в которых существует сценарий применения стиля, почти всегда реализуются среда выполнения Windows как свойства зависимостей, а настраиваемые свойства, которые не являются свойством зависимостей для элементов пользовательского интерфейса, встречаются довольно редко. Если вы хотите убедиться, что свойство среда выполнения Windows является свойством зависимостей, проверка списки членов для типа, который изначально определяет свойство. Если свойство на самом деле является свойством зависимостей, идентификатор свойства зависимостей будет существовать и в этом классе, и этот идентификатор имеет то же имя, что и само свойство, но с добавленным суффиксом Property . Этот идентификатор свойства зависимостей является статическим свойством только для чтения, которое полезно в некоторых сценариях свойств зависимостей с помощью кода. Например, такое значение идентификатора можно использовать в коде для настройки существующего значения Setter.Property, если родительский стиль еще не запечатан.
Использование метода задания для настраиваемого свойства
Для собственных настраиваемых свойств следует объявить свойство как свойство зависимостей, если требуется поддержка стилей, а также для других сценариев, таких как привязка данных или анимация. В этом случае пользовательское свойство также поддерживается для оформления стилей в любом стиле с типом TargetType , который ссылается на пользовательский тип. Дополнительные сведения см. в разделе Пользовательские свойства зависимостей или TargetType.