Freigeben über


AdaptiveTrigger Klasse

Definition

Stellt eine deklarative Regel dar, die visuelle Zustände basierend auf Fenstereigenschaften anwendet.

/// [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
Vererbung
Object IInspectable DependencyObject StateTriggerBase AdaptiveTrigger
Attribute

Beispiele

Tipp

Weitere Informationen, Entwurfsanleitungen und Codebeispiele finden Sie unter Responsive Layouts mit XAML.

Das folgende Beispiel zeigt, wie die StateTriggers-Eigenschaft mit einem AdaptiveTrigger verwendet wird, um eine deklarative Regel im XAML-Markup basierend auf der Fenstergröße zu erstellen. Standardmäßig ist Verticaldie StackPanel-Ausrichtung . Wenn die Fensterbreite = 720 effektive Pixel beträgt >, wird die VisualState-Änderung ausgelöst, und die StackPanel Ausrichtung wird in Horizontalgeändert.

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

Hinweise

Verwenden Sie AdaptiveTriggers, um Regeln zu erstellen, die automatisch eine VisualState-Änderung auslösen, wenn das Fenster eine angegebene Höhe oder Breite aufweist. Wenn Sie AdaptiveTriggers in Ihrem XAML-Markup verwenden, müssen Sie das Window.SizeChanged-Ereignis nicht behandeln und VisualStateManager.GoToState in Ihrem Code aufrufen. Wenn Sie AdaptiveTriggers in VisualStateManager verwenden, können Sie die Auswirkungen dieser adaptiven Änderungen auch direkt auf der XAML-Entwurfsoberfläche in Microsoft Visual Studio sehen.

Sie können die Eigenschaften MinWindowWidth und MinWindowHeight entweder unabhängig oder in Verbindung miteinander verwenden. Dieser XAML-Code zeigt ein Beispiel für die gemeinsame Verwendung beider Eigenschaften. Der Trigger gibt an, dass der entsprechende VisualState angewendet werden soll, wenn die aktuelle Fensterbreite >= 720 effektive Pixel und die aktuelle Fensterhöhe = 900 effektive Pixel beträgt >.

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

Konstruktoren

AdaptiveTrigger()

Initialisiert eine neue instance der AdaptiveTrigger-Klasse.

Eigenschaften

Dispatcher

Gibt immer in einer Windows App SDK-App zurücknull. Verwenden Sie stattdessen DispatcherQueue .

(Geerbt von DependencyObject)
DispatcherQueue

Ruft den DispatcherQueue ab, dem dieses Objekt zugeordnet ist. Stellt DispatcherQueue eine Funktion dar, die auf den DependencyObject im UI-Thread zugreifen kann, auch wenn der Code von einem Nicht-UI-Thread initiiert wird.

(Geerbt von DependencyObject)
MinWindowHeight

Ruft die minimale Fensterhöhe ab, auf die visualState angewendet werden soll, oder legt diese fest.

MinWindowHeightProperty

Identifiziert die MinWindowHeight-Abhängigkeitseigenschaft .

MinWindowWidth

Ruft die minimale Fensterbreite ab, auf die visualState angewendet werden soll, oder legt diese fest.

MinWindowWidthProperty

Identifiziert die MinWindowWidth-Abhängigkeitseigenschaft .

Methoden

ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Gibt einen beliebigen Basiswert zurück, der für eine Abhängigkeitseigenschaft eingerichtet wurde, der in Fällen gilt, in denen eine Animation nicht aktiv ist.

(Geerbt von DependencyObject)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject zurück.

(Geerbt von DependencyObject)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt ist.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion zum Lauschen auf Änderungen an einer bestimmten DependencyProperty für dieses DependencyObject-instance.

(Geerbt von DependencyObject)
SetActive(Boolean)

Legt den Wert fest, der angibt, ob der Zustandstrigger aktiv ist.

(Geerbt von StateTriggerBase)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest.

(Geerbt von DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Bricht eine Änderungsbenachrichtigung ab, die zuvor durch Aufrufen von RegisterPropertyChangedCallback registriert wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen