AdaptiveTrigger Klasse

Definition

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

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

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

Tipp

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

Wenn Sie die WinUI 2-Katalog-App installiert haben, öffnen Sie die App, um die Steuerelemente in Aktion zu sehen.

Dieses Beispiel zeigt, wie Sie die StateTriggers-Eigenschaft mit einem AdaptiveTrigger verwenden, um eine deklarative Regel im XAML-Markup basierend auf der Fenstergröße zu erstellen. Standardmäßig ist die StackPanel-Ausrichtungvertikal. Wenn die Fensterbreite = 720 effektive Pixel beträgt >, wird die VisualState-Änderung ausgelöst, und die StackPanel-Ausrichtung wird in Horizontal geä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>

Ein ausführlicheres Beispiel finden Sie im Beispiel für State Triggers.

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 Ihrem VisualStateManager verwenden, können Sie die Auswirkungen dieser adaptiven Änderungen 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 ist >.

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

Konstruktoren

AdaptiveTrigger()

Initialisiert eine neue instance der AdaptiveTrigger-Klasse

Eigenschaften

Dispatcher

Ruft den CoreDispatcher ab, dem dieses Objekt zugeordnet ist. CoreDispatcher stellt eine Funktion dar, die auf das 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

Gibt die MinWindowHeight-Abhängigkeitseigenschaft an.

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 festgelegt wurde, was 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 registriert wurde, indem RegisterPropertyChangedCallback aufgerufen wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen