Setter.Property Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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"/>
Valor da propriedade
Uma DependencyProperty à qual o Valor será aplicado. O padrão é nulo.
Exemplos
Este exemplo mostra como usar instruções Setter em um estilo para elementos 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>
Você também pode aplicar setters a valores de propriedade anexados, especificando o nome da propriedade anexada no AttachedPropertyProvider. Formulário PropertyName . Por exemplo, para usar um Setter para a propriedade anexada Canvas.Left, use Este XAML.
<Setter Property="Canvas.Left" Value="100"/>
Comentários
Você deve especificar as propriedades Propriedade e Valor em um Setter. Caso contrário, uma exceção é gerada (uma exceção de análise ou um erro de runtime, dependendo se o Setter é criado em XAML ou modificado no código).
Se você estiver acessando uma instância do Setter usando código, não poderá alterar o valor de qualquer propriedade de uma instância do Setter se o valor da propriedade IsSealed em um Style pai for verdadeiro. Isso também é relatado pela propriedade IsSealed em um Setter individual. O sistema define essas propriedades como true quando o runtime aplica estilos aos elementos da interface do usuário e as exibe na interface do usuário. Tentar alterar um Setter selado lança um erro de runtime.
Você pode usar um Setter para estilizar uma propriedade anexada. Nesse caso, o nome da propriedade de dependência é um nome qualificado no XAML que também nomeia o tipo de definição da propriedade anexada. Por exemplo, <Setter Property="AutomationProperties.LiveSetting" Value="Polite" />
pode ser usado para definir o valor da propriedade anexada AutomationProperties.LiveSetting no estilo para qualquer controle ou elemento de interface do usuário.
Observação
O analisador XAML também aceita nomes de propriedade de dependência que incluem uma classe qualificada. Por exemplo, o analisador interpreta "Button.Background" ou "Control.Background" como sendo uma referência à propriedade Background em um estilo para um Botão. No entanto, a qualificação por classe não é necessária e resulta em marcação potencialmente confusa. Você poderá encontrar ou usar usos qualificados de nome de propriedade se estiver migrando XAML de outras plataformas.
Identificando propriedades de dependência
Conforme observado, você só poderá usar um Setter para ajustar uma propriedade por meio de um estilo se a propriedade em questão for uma propriedade de dependência. As propriedades da interface do usuário em que há um cenário para aplicar um estilo são quase sempre implementadas como propriedades de dependência pelo Windows Runtime e propriedades configuráveis que não são uma propriedade de dependência em elementos de interface do usuário são bastante raras. Se você quiser verificar se uma propriedade Windows Runtime é uma propriedade de dependência, marcar listas de membros para o tipo que originalmente define a propriedade. Se uma propriedade for de fato uma propriedade de dependência, o identificador de propriedade de dependência também existirá nessa classe e esse identificador terá o mesmo nome que a própria propriedade, mas com a propriedade sufixo adicionada. Esse identificador de propriedade de dependência é uma propriedade somente leitura estática que é útil em alguns cenários de propriedade de dependência por meio de código. Por exemplo, você pode usar esse valor de identificador no código para ajustar um valor Setter.Property existente, desde que o estilo pai ainda não esteja selado.
Usando um Setter para uma propriedade personalizada
Para suas próprias propriedades personalizadas, você deve declarar a propriedade como uma propriedade de dependência se quiser dar suporte a estilos, bem como para outros cenários, como associação de dados ou animação. Se você fizer isso, sua propriedade personalizada também terá suporte para estilo em qualquer Estilo com um TargetType que faça referência ao seu tipo personalizado. Para obter mais informações, consulte Propriedades de dependência personalizadas ou TargetType.