Setter.Property Property

Obtiene o establece la propiedad a la que se aplica Value.

Sintaxis


public DependencyProperty Property { get; set; }


<Setter Property="propertyName"/>

XAML Values

propertyName

Una cadena que especifica el nombre de la propiedad que se está estableciendo. Esta debe ser una propiedad de dependencia.

Valor de propiedades

Tipo: DependencyProperty

Una propiedad DependencyProperty a la que se va a aplicar Value. El valor predeterminado es null.

Comentarios

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

Si tiene acceso a una instancia de Setter mediante código, no puede cambiar el valor de ninguna propiedad de una instancia de Setter si el valor de la propiedad IsSealed de un objeto Style primario es true. Esto también lo notifica la propiedad IsSealed en un Setter individual. El sistema establece estas propiedades en true cuando el runtime aplica estilos a los elementos de la interfaz de usuario y los muestra en ella. Se producirá un error de tiempo de ejecución si intenta cambiar una clase Setter sellada.

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

Nota  El analizador XAML también acepta los nombres de propiedad de dependencia que incluyen una clase necesaria. Por ejemplo, el analizador interpreta que "Button.Background" o "Control.Background" es una referencia a la propiedad Background en un estilo para la clase Button. Sin embargo, no es necesario calificar por clases ya que genera una marcado potencialmente confuso. Puede encontrar o utilizar usos de nombre de propiedad calificado si va a migrar XAML desde otras plataformas.

Identificar propiedades de dependencia

Como se ha descrito, solo puede usar la clase Setter para ajustar una propiedad mediante estilo si la propiedad en cuestión es una propiedad de dependencia. Las propiedades de la interfaz de usuario donde hay un escenario para aplicar un estilo siempre las implementa Windows en tiempo de ejecución como propiedades de dependencia y las propiedades configurables que no son una propiedad de dependencia en elementos de la interfaz de usuario son poco habituales. Si desea comprobar si una propiedad de Windows en tiempo de ejecución es una propiedad de dependencia, compruebe las listas de miembros del tipo que definió originalmente la propiedad. Si una propiedad es de hecho una propiedad de dependencia, el identificador de 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 de código. Por ejemplo, puede usar el valor identificador del código para ajustar un valor Setter.Property existente siempre y cuando el estilo principal no esté sellado.

Utilizar un establecedor para una propiedad personalizada

Para sus propias propiedades personalizadas debe declarar la propiedad como propiedad de dependencia si desea admitir estilos, así como para otros escenarios como animación o enlace de datos. Si lo hace de esta manera, su propiedad personalizada también estará admitida para estilo o cualquier Style con un TargetType que haga referencia al tipo personalizado. Para obtener más información, vea Propiedades de dependencia personalizadas o TargetType.

Ejemplos

Este ejemplo crea dos estilos: uno para TextBlock y el otro para TextBox. Al establecer los valores del atributo Property en XAML, se especifica el nombre de la propiedad.


<StackPanel>
  <StackPanel.Resources>
    <!--Create a Style for a TextBlock to specify that the
              Foreground equals Navy, FontSize equals 14, and
              VerticalAlignment equals Botton.-->
    <Style TargetType="TextBlock" x:Key="TextBlockStyle">
      <Setter Property="Foreground" Value="Navy"/>
      <Setter Property="FontSize" Value="14"/>
      <Setter Property="VerticalAlignment" Value="Bottom"/>
    </Style>

    <!--Create a Style for a TextBlock that specifies that
              the Width is 200, Height is 20, Margin is 4,
              Background is LightBlue, and FontSize is 14.-->
    <Style TargetType="TextBox" x:Key="TextBoxStyle">
      <Setter Property="Width" Value="200"/>
      <Setter Property="Height" Value="30"/>
      <Setter Property="Margin" Value="4"/>
      <Setter Property="FontSize" Value="14"/>
      <Setter Property="Background">
        <Setter.Value>
          <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
            <GradientStop Color="White" Offset="0.0"/>
            <GradientStop Color="LightBlue" Offset="0.5"/>
            <GradientStop Color="Navy" Offset="1"/>
          </LinearGradientBrush>
        </Setter.Value>
      </Setter>
    </Style>
  </StackPanel.Resources>

  <!--Apply the TextBlockStyle and TextBoxStyle to each 
          TextBlock and TextBox, respectively.-->
  <StackPanel Orientation="Horizontal">
    <TextBlock Style="{StaticResource TextBlockStyle}">
              First Name:
          </TextBlock>
    <TextBox Style="{StaticResource TextBoxStyle}"/>
  </StackPanel>
  <StackPanel Orientation="Horizontal">
    <TextBlock Style="{StaticResource TextBlockStyle}">
              Last Name:
          </TextBlock>
    <TextBox Style="{StaticResource TextBoxStyle}"  
                   Margin="6,4,4,4"/>
  </StackPanel>
</StackPanel>


En este primer ejemplo, los nombres son todos nombres sencillos, sin calificar por un nombre de tipo propietario. En este caso, se supone siempre que la propiedad existe en la clase que es la propiedad TargetType explícita o implícita del estilo.

También puede aplicar establecedores a los valores de propiedad adjuntos, especificando el nombre de propiedad adjunta en el formulario AttachedPropertyProvider.PropertyName. Por ejemplo, para utilizar un objeto Setter para la propiedad adjunta Canvas.Left, utilice este código XAML.


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

Requisitos

Cliente mínimo admitido

Windows 8

Servidor mínimo admitido

Windows Server 2012

Espacio de nombres

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadatos

Windows.winmd

Vea también

Setter

 

 

Mostrar:
© 2015 Microsoft