Setter.Property Propiedad

Definición

Obtiene o establece la propiedad a la que se va a aplicar el valor .

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 de propiedad

DependencyProperty a la que se aplicará el valor. El valor predeterminado es NULL.

Ejemplos

En este ejemplo se muestra cómo usar instrucciones Setter en un estilo para los 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>

También puede aplicar establecedores a valores de propiedad adjuntos especificando el nombre de propiedad adjunta en AttachedPropertyProvider. Formulario PropertyName . Por ejemplo, para usar un establecedor para la propiedad adjunta Canvas.Left, use Este XAML.

<Setter Property="Canvas.Left" Value="100"/>

Comentarios

Debe especificar las propiedades Property y Value en un establecedor. De lo contrario, se produce una excepción (ya sea una excepción de análisis o un error en tiempo de ejecución, en función de si el establecedor se crea en XAML o se modifica en el código).

Si tiene acceso a una instancia de Setter mediante código, no podrá cambiar el valor de ninguna propiedad de una instancia de Setter si el valor de la propiedad IsSealed en un style primario es true. Esto también lo notifica la propiedad IsSealed en un establecedor individual. El sistema establece estas propiedades en true cuando el tiempo de ejecución aplica estilos a los elementos de la interfaz de usuario y los muestra en la interfaz de usuario. Si se intenta cambiar un establecedor sellado, se produce un error en tiempo de ejecución.

Puede usar un establecedor para aplicar estilo a una propiedad adjunta. En este caso, el nombre de la propiedad de dependencia es un nombre completo en XAML que también asigna al tipo de definición de la propiedad adjunta. Por ejemplo, <Setter Property="AutomationProperties.LiveSetting" Value="Polite" /> se podría usar para establecer el valor de propiedad adjunta AutomationProperties.LiveSetting dentro del estilo de cualquier control o elemento de interfaz de usuario.

Nota

El analizador XAML también acepta nombres de propiedad de dependencia que incluyen una clase apta. Por ejemplo, el analizador interpreta "Button.Background" o "Control.Background" como referencia a la propiedad Background en un estilo para un Button. La calificación por clase no es necesaria y da como resultado un marcado potencialmente confuso. Es posible que encuentre o use usos completos de nombres de propiedad si va a migrar XAML desde otras plataformas.

Identificación de las propiedades de dependencia

Como se indicó, solo puede usar un establecedor para ajustar una propiedad a través de un estilo si la propiedad en cuestión es una propiedad de dependencia. Las propiedades de la interfaz de usuario en las que hay un escenario para aplicar un estilo casi siempre se implementan como propiedades de dependencia por parte del Windows Runtime y las propiedades configurables que no son una propiedad de dependencia en los elementos de la interfaz de usuario son bastante raros. Si desea comprobar que una propiedad Windows Runtime es una propiedad de dependencia, compruebe las listas de miembros para el tipo que define originalmente la propiedad. Si una propiedad es de hecho una propiedad de dependencia, el identificador de la propiedad de dependencia existirá también en esa clase y ese identificador tiene el mismo nombre que la propia propiedad, pero con el sufijo Property agregado. Este identificador de propiedad de dependencia es una propiedad estática de solo lectura que resulta útil en algunos escenarios de propiedad de dependencia a través del código. Por ejemplo, podría usar este tipo de valor de identificador en el código para ajustar un valor Setter.Property existente siempre que el estilo primario aún no esté sellado.

Uso de un establecedor para una propiedad personalizada

Para sus propias propiedades personalizadas, debe declarar la propiedad como una propiedad de dependencia si desea admitir estilos, así como para otros escenarios, como el enlace de datos o la animación. Si lo hace, la propiedad personalizada también se admite para aplicar estilos en cualquier Estilo con un TargetType que haga referencia al tipo personalizado. Para obtener más información, consulta Propiedades de dependencia personalizadas o TargetType.

Se aplica a