Setter Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Aplica un valor a una propiedad de un estilo o de un objeto VisualState.
public ref class Setter sealed : SetterBase
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.Activatable(Microsoft.UI.Xaml.ISetterFactory, 65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Setter final : SetterBase
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.Activatable(typeof(Microsoft.UI.Xaml.ISetterFactory), 65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Setter : SetterBase
Public NotInheritable Class Setter
Inherits SetterBase
<Setter .../>
- Herencia
- Atributos
Ejemplos
En este ejemplo se muestra cómo usar Setter instrucciones 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>
En este ejemplo se muestra cómo usar varias Setter instrucciones dentro de la propiedad VisualState.Setters para aplicar cambios de valor de propiedad discretos en varios elementos (sin animaciones) cuando se aplica visualState .
<Page>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="NarrowState">
<VisualState.Setters>
<Setter Target="myPanel.Orientation" Value="Vertical"/>
<Setter Target="myPanel.Width" Value="380"/>
<Setter Target="myTextBlock.MaxLines" Value="3"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<StackPanel x:Name="myPanel" Orientation="Horizontal">
<TextBlock x:Name="myTextBlock" MaxLines="5" Style="{ThemeResource BodyTextBlockStyle}"/>
</StackPanel>
</Grid>
</Page>
También puede aplicar establecedores a los 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, usa este XAML.
<Setter Property="Canvas.Left" Value="100"/>
Para actualizar un valor de una propiedad adjunta mediante Target, coloque la ruta de acceso de la propiedad adjunta entre paréntesis. En este ejemplo se muestra cómo actualizar el RelativePanel.AlignRightWithPanel valor en un elemento con el nombre "TitleTextBlock".
<RelativePanel>
<TextBlock x:Name="TitleTextBlock" Text="Title"/>
</RelativePanel>
...
<Setter Target="TitleTextBlock.(RelativePanel.AlignRightWithPanel)" Value="True"/>
Comentarios
Use Setter instrucciones para establecer un valor de propiedad dentro de style o visualState.
La propiedad Setter.Target se puede usar en un estilo o en visualState, pero de maneras diferentes. Cuando se usa en , Stylela propiedad que debe modificarse se puede especificar directamente. Cuando se usa en VisualState, la Target propiedad debe asignarse a TargetPropertyPath (sintaxis de puntos con un elemento de destino y una propiedad especificadas explícitamente).
La propiedad Setter.Property solo se puede usar en un estilo y no en visualState. A partir de Windows 10, puedes usar Setter.Target en todas partes en lugar de Setter.Property.
Debe especificar tanto el valor como la propiedad o el destino, en .Setter 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 Setter se crea en XAML o se modifica en el código).
Si accede a una Setter instancia mediante código, no puede cambiar el valor de ninguna propiedad de una Setter instancia si el valor de la propiedad IsSealed en un estilo primario es true. Esto también se notifica mediante la propiedad IsSealed en un individual Setter. 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 sellado Setter , se produce un error en tiempo de ejecución.
Constructores
| Nombre | Description |
|---|---|
| Setter() |
Inicializa una nueva instancia de la clase Setter sin propiedad nivalor iniciales. |
| Setter(DependencyProperty, Object) |
Inicializa una nueva instancia de la clase Setter con la información inicial propiedad y valor . |
Propiedades
| Nombre | Description |
|---|---|
| Dispatcher |
Siempre devuelve |
| DispatcherQueue |
Obtiene el objeto |
| IsSealed |
Obtiene un valor que indica si este objeto está en un estado inmutable. (Heredado de SetterBase) |
| Property |
Obtiene o establece la propiedad a la que se va a aplicar el valor . |
| Target |
Obtiene o establece la ruta de acceso de una propiedad en un elemento de destino al que se va a aplicar el valor . |
| Value |
Obtiene o establece el valor que se va a aplicar a la propiedad especificada por el establecedor. |
Métodos
| Nombre | Description |
|---|---|
| ClearValue(DependencyProperty) |
Borra el valor local de una propiedad de dependencia. (Heredado de DependencyObject) |
| GetAnimationBaseValue(DependencyProperty) |
Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa. (Heredado de DependencyObject) |
| GetValue(DependencyProperty) |
Devuelve el valor efectivo actual de una propiedad de dependencia de dependencyObject. (Heredado de DependencyObject) |
| ReadLocalValue(DependencyProperty) |
Devuelve el valor local de una propiedad de dependencia, si se establece un valor local. (Heredado de DependencyObject) |
| RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registra una función de notificación para escuchar los cambios en una dependencyProperty específica en esta instancia de DependencyObject . (Heredado de DependencyObject) |
| SetValue(DependencyProperty, Object) |
Establece el valor local de una propiedad de dependencia en dependencyObject. (Heredado de DependencyObject) |
| UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Cancela una notificación de cambio registrada anteriormente llamando a RegisterPropertyChangedCallback. (Heredado de DependencyObject) |