Поделиться через


Flyout Класс

Определение

Представляет элемент управления, отображающий упрощенный пользовательский интерфейс, который содержит сведения или требует взаимодействия с пользователем. В отличие от диалогового окна, всплывающий элемент можно закрыть, щелкнув или коснувшись за его пределами, нажав кнопку "Назад" устройства или нажав клавишу ESC.

/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="Content")]
/// [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 Flyout : FlyoutBase
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="Content")]
[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 Flyout : FlyoutBase
Public Class Flyout
Inherits FlyoutBase
<Flyout>
    singleUIElement
</Flyout>

Наследование
Object IInspectable DependencyObject FlyoutBase Flyout
Атрибуты

Примеры

Совет

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

Приложение "Коллекция WinUI 3" содержит интерактивные примеры большинства элементов управления, функций и функций WinUI 3. Получение приложения из Microsoft Store или исходный код на сайте GitHub

Комментарии

Всплывающий элемент отображает сообщение, требующее взаимодействия с пользователем.

Элемент управления

Используйте элемент управления Всплывающий элемент для сбора информации, отображения дополнительных сведений, а также для предупреждений и подтверждений. В отличие от диалогового окна всплывающее окно не создает отдельное окно и не блокирует взаимодействие с другими пользователями. Чтобы отобразить меню элементов, используйте menuFlyout . Дополнительные сведения, включая XAML и примеры кода, см. в разделе Всплывающие элементы.

Элемент управления Всплывающий элемент (или MenuFlyout) используется в качестве значения свойства Button.Flyout . Обычно это задается в XAML как часть определения пользовательского интерфейса страницы. Кнопка является единственным элементом управления, который имеет выделенное свойство Всплывающее окно . Чтобы связать всплывающий элемент с другими элементами управления, используйте присоединенное свойство FlyoutBase.AttachedFlyout . Если задано значение Button.Flyout, всплывающий элемент отображается при нажатии кнопки или вызове иным образом. Если всплывающий элемент назначается другим элементам пользовательского интерфейса с помощью FlyoutBase.AttachedFlyout, необходимо вызвать метод ShowAt или статический метод ShowAttachedFlyout для отображения всплывающего элемента.

В дополнение к членам, перечисленным в этом справочном разделе, существуют и другие члены базового класса FlyoutBase , которые часто используются в типичных сценариях Flyout:

  • FlyoutBase.AttachedFlyout: присоединенное свойство, которое связывает Flyout с определенным элементом пользовательского интерфейса (это может быть любой производный от FrameworkElement класс).
  • ShowAttachedFlyout: статический метод, который может определить, связан ли всплывающий элемент с элементом пользовательского интерфейса с помощью назначения FlyoutBase.AttachedFlyout . Если это так, метод вызывает ShowAt внутри, используя указанный элемент FrameworkElement .

Специальные возможности

Если вы используете всплывающий элемент без фокусируемого содержимого, например, с текстом, как показано здесь, следует предпринять некоторые дополнительные действия, чтобы обеспечить доступ к содержимому. В частности, необходимо убедиться, что экранный диктор Windows или другие средства чтения с экрана могут читать содержимое всплывающего элемента.

Элемент управления всплывающий элемент с текстовым содержимым

По умолчанию для FlyoutPresenter заданы свойства, которые препятствуют получению фокуса. Это нужное поведение, когда содержимое во всплывающем элементе может получать фокус. Однако если содержимое во всплывающем элементе не может получить фокус, следует обновиться до FlyoutPresenterStyle , чтобы разрешить FlyoutPresenter получать фокус. Для этого задайте для параметра UIElement.IsTabStopзначение true , а для tabNavigationзначение Цикл в стиле всплывающего элемента докладчика.

В этом примере показано, как разрешить flyoutPresenter получать фокус, чтобы содержимое было доступно.

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Button VerticalAlignment="Center" HorizontalAlignment="Center"
            Content="Open flyout">
        <Button.Flyout>
            <Flyout>
                <Flyout.FlyoutPresenterStyle>
                    <Style TargetType="FlyoutPresenter">
                        <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled"/>
                        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
                        <Setter Property="IsTabStop" Value="True"/>
                        <Setter Property="TabNavigation" Value="Cycle"/>
                    </Style>
                </Flyout.FlyoutPresenterStyle>
                <TextBlock TextWrapping="Wrap" Text="This is some text in a flyout."/>
            </Flyout>
        </Button.Flyout>
    </Button>
</Grid>

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

Flyout()

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

Свойства

AllowFocusOnInteraction

Возвращает или задает значение, указывающее, получает ли элемент автоматически фокус при взаимодействии с ним.

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

Возвращает или задает значение, указывающее, может ли элемент управления получать фокус при отключении.

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

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

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

Возвращает или задает содержимое всплывающего элемента.

ContentProperty

Возвращает идентификатор для свойства зависимостей содержимого .

Dispatcher

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

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

Возвращает объект , DispatcherQueue с которым связан данный объект. DispatcherQueue представляет объект, который может получить доступ к потоку DependencyObject пользовательского интерфейса, даже если код инициируется потоком, не относящегося к пользовательскому интерфейсу.

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

Возвращает или задает значение, указывающее предпочтительное значение элемента управления для воспроизведения звуков.

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

Возвращает или задает стиль , применяемый к содержимому всплывающего меню .

FlyoutPresenterStyleProperty

Возвращает идентификатор свойства зависимости FlyoutPresenterStyle .

InputDevicePrefersPrimaryCommands

Возвращает значение, указывающее, не легко ли устройство ввода, используемое для открытия всплывающего меню, открыть дополнительные команды.

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

Возвращает значение, указывающее, отображается ли всплывающий элемент в пределах корня XAML. Это свойство всегда имеет значение true для Windows App SDK приложений.

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

Возвращает значение, указывающее, открыт ли всплывающий элемент.

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

Возвращает или задает значение, указывающее, является ли область за пределами закрывающегося пользовательского интерфейса затемнённой.

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

Возвращает или задает элемент, который должен получать события ввода указателя даже при наложении всплывающего элемента.

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

Возвращает или задает расположение по умолчанию, используемое для всплывающего меню, относительно целевого объекта размещения.

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

Возвращает или задает значение, указывающее, должен ли всплывающий элемент отображаться в границах корня XAML.

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

Возвращает или задает значение, указывающее поведение всплывающего меню при отображении.

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

Возвращает или задает системный фон для применения к этому всплывающему элементу. Фон отображается за содержимым всплывающего элемента.

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

Возвращает элемент, используемый в качестве целевого объекта размещения всплывающего элемента.

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

Возвращает или задает xamlRoot, в котором просматривается этот всплывающий элемент.

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

Методы

ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

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

При переопределении в производном классе инициализирует элемент управления для отображения содержимого всплывающего элемента в соответствии с его производным элементом управления. Примечание. Этот метод не имеет реализации базового класса и должен быть переопределен в производном классе.

(Унаследовано от FlyoutBase)
GetAnimationBaseValue(DependencyProperty)

Возвращает любое базовое значение, установленное для свойства зависимостей, которое применяется в случаях, когда анимация не активна.

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

Возвращает текущее действующее значение свойства зависимостей из DependencyObject.

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

Закрывает всплывающий элемент.

(Унаследовано от FlyoutBase)
OnProcessKeyboardAccelerators(ProcessKeyboardAcceleratorEventArgs)

Вызывается непосредственно перед обработкой сочетания клавиш (ускорителя) в приложении. Вызывается всякий раз, когда код приложения или внутренние процессы вызывают ProcessKeyboardAccelerators. Переопределите этот метод, чтобы повлиять на обработку ускорителя по умолчанию.

(Унаследовано от FlyoutBase)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если задано локальное значение.

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

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

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

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

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

Показывает всплывающий элемент, размещенный по отношению к указанному элементу с помощью указанных параметров.

(Унаследовано от FlyoutBase)
ShowAt(FrameworkElement)

Отображает всплывающий элемент, размещенный по отношению к указанному элементу.

(Унаследовано от FlyoutBase)
TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs)

Пытается вызвать сочетание клавиш (ускоритель).

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

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

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

События

Closed

Происходит при скрытии всплывающего меню.

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

Происходит, когда всплывающий элемент начинает скрываться.

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

Происходит при отображении всплывающего меню.

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

Происходит до отображения всплывающего меню.

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

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

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