AdaptiveTrigger Classe

Definizione

Rappresenta una regola dichiarativa che applica gli stati di visualizzazione in base alle proprietà della finestra.

/// [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 .../>
Ereditarietà
Object IInspectable DependencyObject StateTriggerBase AdaptiveTrigger
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

Suggerimento

Per altre info, linee guida per la progettazione ed esempi di codice, vedi Layout reattivi con XAML.

Se è installata l'app WinUI 2 Gallery , aprire l'app per visualizzare i controlli in azione.

Questo esempio illustra come usare la proprietà StateTriggers con adaptiveTrigger per creare una regola dichiarativa nel markup XAML in base alle dimensioni della finestra. Per impostazione predefinita, l'orientamento di StackPanel è Vertical. Quando la larghezza della finestra è >= 720 pixel effettivi, viene attivata la modifica di VisualState e l'orientamento di StackPanel viene modificato in Orizzontale.

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

Per un esempio più dettagliato, vedere l'esempio di trigger di stato.

Commenti

Usare AdaptiveTriggers per creare regole che attivano automaticamente una modifica di VisualState quando la finestra è un'altezza o una larghezza specificata. Quando usi AdaptiveTriggers nel markup XAML, non devi gestire l'evento Window.SizeChanged e chiamare VisualStateManager.GoToState nel codice. Inoltre, quando usi AdaptiveTriggers in VisualStateManager, puoi vedere gli effetti di queste modifiche adattive direttamente nell'area di progettazione XAML in Microsoft Visual Studio.

È possibile utilizzare le proprietà MinWindowWidth e MinWindowHeight in modo indipendente o in combinazione tra loro. Questo codice XAML mostra un esempio di utilizzo di entrambe le proprietà insieme. Il trigger indica che l'oggetto VisualState corrispondente deve essere applicato quando la larghezza corrente della finestra è >= 720 pixel effettivi E l'altezza della finestra corrente è >= 900 pixel effettivi.

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

Costruttori

AdaptiveTrigger()

Inizializza una nuova istanza della classe AdaptiveTrigger

Proprietà

Dispatcher

Ottiene coreDispatcher a cui è associato questo oggetto. CoreDispatcher rappresenta una funzionalità che può accedere a DependencyObject nel thread dell'interfaccia utente anche se il codice viene avviato da un thread non dell'interfaccia utente.

(Ereditato da DependencyObject)
MinWindowHeight

Ottiene o imposta l'altezza minima della finestra in corrispondenza della quale deve essere applicato VisualState .

MinWindowHeightProperty

Identifica la proprietà di dipendenza MinWindowHeight .

MinWindowWidth

Ottiene o imposta la larghezza minima della finestra in corrispondenza della quale deve essere applicato VisualState .

MinWindowWidthProperty

Identifica la proprietà di dipendenza MinWindowWidth .

Metodi

ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà di dipendenza.

(Ereditato da DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva.

(Ereditato da DependencyObject)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza da dependencyObject.

(Ereditato da DependencyObject)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se è impostato un valore locale.

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche apportate a una dipendenza specifica in questa istanza di DependencyObject .

(Ereditato da DependencyObject)
SetActive(Boolean)

Imposta il valore che indica se il trigger di stato è attivo.

(Ereditato da StateTriggerBase)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza su dependencyObject.

(Ereditato da DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback.

(Ereditato da DependencyObject)

Si applica a

Vedi anche