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


Flyout Класс

Определение

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

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

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

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Примеры

Совет

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

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

Комментарии

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

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

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

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

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

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

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

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

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

По умолчанию для FlyoutPresenter заданы свойства, которые препятствуют получению фокуса. Это желаемое поведение, когда содержимое во всплывающем элементе может получить фокус. Однако если содержимое во всплывающем элементе не может получить фокус, следует выполнить обновление до FlyoutPresenterStyle , чтобы разрешить FlyoutPresenter получать фокус. Для этого задайте для параметра 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

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

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

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

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

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

FlyoutPresenterStyleProperty

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

InputDevicePrefersPrimaryCommands

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Унаследовано от 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)

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

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