Partage via


AdaptiveTrigger Classe

Définition

Représente une règle déclarative qui applique des états visuels en fonction des propriétés de la fenêtre.

/// [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 .../>
Héritage
Object IInspectable DependencyObject StateTriggerBase AdaptiveTrigger
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

Conseil

Pour plus d’informations, des conseils de conception et des exemples de code, consultez Dispositions réactives avec XAML.

Si vous avez installé l’application Galerie WinUI 2 , ouvrez l’application pour voir les contrôles en action.

Cet exemple montre comment utiliser la propriété StateTriggers avec adaptiveTrigger pour créer une règle déclarative dans le balisage XAML en fonction de la taille de la fenêtre. Par défaut, l’orientation StackPanel est Verticale. Lorsque la largeur de la fenêtre est >= 720 pixels effectifs, la modification VisualState est déclenchée et l’orientation StackPanel est remplacée par Horizontale.

<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>

Pour obtenir un exemple plus détaillé, consultez l’exemple déclencheurs d’état.

Remarques

Utilisez AdaptiveTriggers pour créer des règles qui déclenchent automatiquement une modification de VisualState lorsque la fenêtre est une hauteur ou une largeur spécifiée. Lorsque vous utilisez AdaptiveTriggers dans votre balisage XAML, vous n’avez pas besoin de gérer l’événement Window.SizeChanged et d’appeler VisualStateManager.GoToState dans votre code. En outre, lorsque vous utilisez AdaptiveTriggers dans votre VisualStateManager, vous pouvez voir les effets de ces modifications adaptatives directement sur l’aire de conception XAML dans Microsoft Visual Studio.

Vous pouvez utiliser les propriétés MinWindowWidth et MinWindowHeight indépendamment ou conjointement. Ce code XAML montre un exemple d’utilisation des deux propriétés ensemble. Le déclencheur indique que le VisualState correspondant doit être appliqué lorsque la largeur de la fenêtre actuelle est >= 720 pixels effectifs ET que la hauteur de la fenêtre actuelle est >= 900 pixels effectifs.

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

Constructeurs

AdaptiveTrigger()

Initialise une nouvelle instance de la classe AdaptiveTrigger

Propriétés

Dispatcher

Obtient le CoreDispatcher auquel cet objet est associé. CoreDispatcher représente une installation qui peut accéder à DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur.

(Hérité de DependencyObject)
MinWindowHeight

Obtient ou définit la hauteur de fenêtre minimale à laquelle VisualState doit être appliqué.

MinWindowHeightProperty

Identifie la propriété de dépendance MinWindowHeight .

MinWindowWidth

Obtient ou définit la largeur de fenêtre minimale à laquelle VisualState doit être appliqué.

MinWindowWidthProperty

Identifie la propriété de dépendance MinWindowWidth .

Méthodes

ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété de dépendance.

(Hérité de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Retourne toute valeur de base établie pour une propriété de dépendance, qui s’applique dans les cas où une animation n’est pas active.

(Hérité de DependencyObject)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un objet DependencyObject.

(Hérité de DependencyObject)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie.

(Hérité de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject.

(Hérité de DependencyObject)
SetActive(Boolean)

Définit la valeur qui indique si le déclencheur d’état est actif.

(Hérité de StateTriggerBase)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance sur un DependencyObject.

(Hérité de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

S’applique à

Voir aussi