AdaptiveTrigger Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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) |