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>
- Наследование
- Атрибуты
Требования к 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) |