AdaptiveTrigger Класс

Определение

Представляет декларативное правило, которое применяет визуальные состояния на основе свойств окна.

/// [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
Наследование
Object IInspectable DependencyObject StateTriggerBase AdaptiveTrigger
Атрибуты

Примеры

Tip

Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе "Адаптивные макеты" с помощью XAML.

В следующем примере показано, как использовать свойство StateTriggers с AdaptiveTrigger целью создания декларативного правила в разметке 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>

Комментарии

Используйте AdaptiveTriggers для создания правил, которые автоматически активируют изменение VisualState , если окно имеет указанную высоту или ширину. При использовании AdaptiveTriggers в разметке XAML вам не нужно обрабатывать событие Window.SizeChanged и вызывать VisualStateManager.GoToState в коде. Кроме того, при использовании AdaptiveTriggers в VisualStateManager можно увидеть эффекты этих адаптивных изменений непосредственно на поверхности конструктора XAML в Microsoft Visual Studio.

Свойства MinWindowWidth и MinWindowHeight можно использовать независимо или в сочетании друг с другом. В этом XAML показан пример использования обоих свойств вместе. Триггер указывает, что соответствующий VisualState применяется, если текущая ширина окна равна >720 эффективным пикселям, а текущая высота окна равна >900 эффективным пикселям.

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

Конструкторы

Имя Описание
AdaptiveTrigger()

Инициализирует новый экземпляр класса AdaptiveTrigger

Свойства

Имя Описание
Dispatcher

Всегда возвращается null в приложении пакета SDK для приложений windows. Вместо этого используйте DispatcherQueue .

(Унаследовано от DependencyObject)
DispatcherQueue

Возвращает, DispatcherQueue с которым связан этот объект. Представляет DispatcherQueue собой объект, который может получить доступ к 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)

Регистрирует функцию уведомлений для прослушивания изменений в определенном экземпляре DependencyProperty в этом экземпляре DependencyObject .

(Унаследовано от DependencyObject)
SetActive(Boolean)

Задает значение, указывающее, активен ли триггер состояния.

(Унаследовано от StateTriggerBase)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей в DependencyObject.

(Унаследовано от DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменении, которое ранее было зарегистрировано путем вызова RegisterPropertyChangedCallback.

(Унаследовано от DependencyObject)

Применяется к

См. также раздел