Partilhar via


AdaptiveTrigger Classe

Definição

Representa uma regra declarativa que aplica estados visuais com base nas propriedades da janela.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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(Windows.Foundation.UniversalApiContract), 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
<AdaptiveTrigger .../>
Herança
Object IInspectable DependencyObject StateTriggerBase AdaptiveTrigger
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Exemplos

Dica

Para obter mais informações, diretrizes de design e exemplos de código, consulte Layouts responsivos com XAML.

Se você tiver o aplicativo Galeria do WinUI 2 instalado, abra o aplicativo para ver os controles em ação.

Este exemplo mostra como usar a propriedade StateTriggers com um AdaptiveTrigger para criar uma regra declarativa na marcação XAML com base no tamanho da janela. Por padrão, a orientação StackPanel é Vertical. Quando a largura da janela é >= 720 pixels efetivos, a alteração de VisualState é disparada e a orientação StackPanel é alterada para 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>

Para obter um exemplo mais detalhado, consulte o Exemplo de gatilhos de estado.

Comentários

Use AdaptiveTriggers para criar regras que disparam automaticamente uma alteração do VisualState quando a janela é uma altura ou largura especificada. Ao usar AdaptiveTriggers em sua marcação XAML, você não precisa manipular o evento Window.SizeChanged e chamar VisualStateManager.GoToState em seu código. Além disso, ao usar AdaptiveTriggers em seu VisualStateManager, você pode ver os efeitos dessas alterações adaptáveis diretamente na superfície de design XAML no Microsoft Visual Studio.

Você pode usar as propriedades MinWindowWidth e MinWindowHeight independentemente ou em conjunto entre si. Este XAML mostra um exemplo de como usar as duas propriedades juntas. O gatilho indica que o VisualState correspondente deve ser aplicado quando a largura da janela atual for >= 720 pixels efetivos E a altura atual da janela for >= 900 pixels efetivos.

<AdaptiveTrigger MinWindowWidth="720" MinWindowHeight="900"/>

Construtores

AdaptiveTrigger()

Inicializa uma nova instância da classe AdaptiveTrigger

Propriedades

Dispatcher

Obtém o CoreDispatcher ao qual esse objeto está associado. O CoreDispatcher representa uma instalação que pode acessar o DependencyObject no thread da interface do usuário, mesmo que o código seja iniciado por um thread que não seja da interface do usuário.

(Herdado de DependencyObject)
MinWindowHeight

Obtém ou define a altura mínima da janela na qual o VisualState deve ser aplicado.

MinWindowHeightProperty

Identifica a propriedade de dependência MinWindowHeight .

MinWindowWidth

Obtém ou define a largura mínima da janela na qual o VisualState deve ser aplicado.

MinWindowWidthProperty

Identifica a propriedade de dependência MinWindowWidth .

Métodos

ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade de dependência.

(Herdado de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria nos casos em que uma animação não está ativa.

(Herdado de DependencyObject)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject.

(Herdado de DependencyObject)
ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, se um valor local for definido.

(Herdado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra uma função de notificação para escutar alterações em uma DependencyProperty específica nessa instância dependencyObject .

(Herdado de DependencyObject)
SetActive(Boolean)

Define o valor que indica se o gatilho de estado está ativo.

(Herdado de StateTriggerBase)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência em um DependencyObject.

(Herdado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback.

(Herdado de DependencyObject)

Aplica-se a

Confira também