AdaptiveTrigger 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í.
Representa una regla declarativa que aplica estados visuales en función de las propiedades de la ventana.
/// [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 AdaptiveTrigger : StateTriggerBase
[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 class AdaptiveTrigger : StateTriggerBase
Public Class AdaptiveTrigger
Inherits StateTriggerBase
- Herencia
- Atributos
Ejemplos
Sugerencia
Para obtener más información, instrucciones de diseño y ejemplos de código, consulta Diseños dinámicos con XAML.
En el ejemplo siguiente se muestra cómo usar la propiedad StateTriggers con para AdaptiveTrigger
crear una regla declarativa en el marcado XAML en función del tamaño de la ventana. De forma predeterminada, la orientación stackPanel es Vertical
. Cuando el ancho de la ventana es >= 720 píxeles efectivos, se desencadena el cambio de VisualState y la StackPanel
orientación cambia a Horizontal
.
<Page>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState>
<VisualState.StateTriggers>
<!--VisualState to be triggered when window width is >=720 effective pixels.-->
<AdaptiveTrigger MinWindowWidth="720"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="myPanel.Orientation" Value="Horizontal"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<StackPanel x:Name="myPanel" Orientation="Vertical">
<TextBlock Text="This is a block of text. It is text block 1. "
Style="{ThemeResource BodyTextBlockStyle}"/>
<TextBlock Text="This is a block of text. It is text block 2. "
Style="{ThemeResource BodyTextBlockStyle}"/>
<TextBlock Text="This is a block of text. It is text block 3. "
Style="{ThemeResource BodyTextBlockStyle}"/>
</StackPanel>
</Grid>
</Page>
Comentarios
Use AdaptiveTriggers para crear reglas que desencadenen automáticamente un cambio de VisualState cuando la ventana sea un alto o ancho especificados. Al usar AdaptiveTriggers en el marcado XAML, no es necesario controlar el evento Window.SizeChanged y llamar a VisualStateManager.GoToState en el código. Además, al usar AdaptiveTriggers en visualStateManager, puedes ver los efectos de estos cambios adaptables directamente en la superficie de diseño XAML en Microsoft Visual Studio.
Puede usar las propiedades MinWindowWidth y MinWindowHeight de forma independiente o conjunta entre sí. Este XAML muestra un ejemplo de cómo usar ambas propiedades juntas. El desencadenador indica que se va a aplicar el visualState correspondiente cuando el ancho de la ventana actual es >= 720 píxeles efectivos Y el alto de la ventana actual es >= 900 píxeles efectivos.
<AdaptiveTrigger MinWindowWidth="720" MinWindowHeight="900"/>
Constructores
AdaptiveTrigger() |
Inicializa una nueva instancia de la clase AdaptiveTrigger . |
Propiedades
Dispatcher |
Siempre devuelve |
DispatcherQueue |
Obtiene el objeto |
MinWindowHeight |
Obtiene o establece el alto mínimo de la ventana en el que se debe aplicar VisualState . |
MinWindowHeightProperty |
Identifica la propiedad de dependencia MinWindowHeight . |
MinWindowWidth |
Obtiene o establece el ancho de ventana mínimo en el que se debe aplicar VisualState . |
MinWindowWidthProperty |
Identifica la propiedad de dependencia MinWindowWidth . |
Métodos
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) |
SetActive(Boolean) |
Establece el valor que indica si el desencadenador de estado está activo. (Heredado de StateTriggerBase) |
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 mediante una llamada a RegisterPropertyChangedCallback. (Heredado de DependencyObject) |