次の方法で共有


AdaptiveTrigger クラス

定義

ウィンドウのプロパティに基づいて表示状態を適用する宣言型ルールを表します。

/// [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 .../>
継承
Object IInspectable DependencyObject StateTriggerBase AdaptiveTrigger
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

ヒント

詳細、設計ガイダンス、およびコード例については、「XAML を使用した レスポンシブ レイアウト」を参照してください。

WinUI 2 ギャラリー アプリがインストールされている場合は、アプリを開いて、動作中のコントロールを確認します

この例では、 AdaptiveTrigger で StateTriggers プロパティを使用して、ウィンドウ サイズに基づいて XAML マークアップで宣言型ルールを作成する方法を示します。 既定では、 StackPanel の向きは Vertical です。 ウィンドウの幅が >有効ピクセル数 720 の場合、 VisualState の変更がトリガーされ、 StackPanel の向きが 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>

詳細なサンプルについては、 State トリガーのサンプルを参照してください。

注釈

AdaptiveTriggers を使用して、ウィンドウの高さまたは幅が指定されている場合に VisualState の変更を自動的にトリガーするルールを作成します。 XAML マークアップで AdaptiveTriggers を使用する場合、 Window.SizeChanged イベントを処理し、コードで VisualStateManager.GoToState を呼び出す必要はありません。 また、 VisualStateManager で AdaptiveTriggers を使用すると、これらのアダプティブ変更の影響が Microsoft Visual Studio の XAML デザイン サーフェイスに直接表示されます。

MinWindowWidth プロパティと MinWindowHeight プロパティは、個別に使用することも、相互に組み合わせて使用することもできます。 この XAML は、両方のプロパティを一緒に使用する例を示しています。 トリガーは、現在のウィンドウ幅>が 720 有効ピクセル、現在のウィンドウの高さが 900 有効ピクセルの場合に、対応する VisualState が>適用されることを示します。

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

コンストラクター

AdaptiveTrigger()

AdaptiveTrigger クラスの新しいインスタンスを初期化します

プロパティ

Dispatcher

このオブジェクトが関連付けられている CoreDispatcher を取得します。 CoreDispatcher は、コードが UI 以外のスレッドによって開始された場合でも、UI スレッド上の DependencyObject にアクセスできる機能を表します。

(継承元 DependencyObject)
MinWindowHeight

VisualState を適用する必要があるウィンドウの最小高さを取得または設定します。

MinWindowHeightProperty

MinWindowHeight 依存関係プロパティを識別します。

MinWindowWidth

VisualState を適用するウィンドウの最小幅を取得または設定します。

MinWindowWidthProperty

MinWindowWidth 依存関係プロパティを識別します。

メソッド

ClearValue(DependencyProperty)

依存関係プロパティのローカル値をクリアします。

(継承元 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

依存関係プロパティに対して確立された基本値を返します。これは、アニメーションがアクティブでない場合に適用されます。

(継承元 DependencyObject)
GetValue(DependencyProperty)

DependencyObject から依存関係プロパティの現在の有効な値を返します。

(継承元 DependencyObject)
ReadLocalValue(DependencyProperty)

ローカル値が設定されている場合は、依存関係プロパティのローカル値を返します。

(継承元 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

この DependencyObject インスタンスの特定の DependencyProperty に対する変更をリッスンするための通知関数を登録します。

(継承元 DependencyObject)
SetActive(Boolean)

状態トリガーがアクティブかどうかを示す値を設定します。

(継承元 StateTriggerBase)
SetValue(DependencyProperty, Object)

DependencyObject の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback を呼び出して以前に登録した変更通知を取り消します。

(継承元 DependencyObject)

適用対象

こちらもご覧ください