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>
- Наследование
- Атрибуты
Примеры
Совет
Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе Всплывающее окно.
Приложение "Коллекция 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 |
Всегда возвращается |
DispatcherQueue |
Возвращает объект , |
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) |