Flyout 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示显示轻量级 UI 的控件,该 UI 既是信息,要么需要用户交互。 与对话框不同,浮出控件可以通过单击或点击外部、按设备的后退按钮或按“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>
- 继承
- 属性
示例
Tip
有关详细信息、设计指南和代码示例,请参阅 浮出控件。
WinUI 3 示例集应用程序包括大多数 WinUI 3 控件、特性和功能的交互式示例。 通过 Microsoft Store 获取应用,或在 GitHub 上获取源代码
注解
浮出控件显示需要用户交互的消息。
使用浮出控件收集信息、显示详细信息或警告和确认。 与对话框不同,浮出控件不会创建单独的窗口,也不会阻止其他用户交互。 若要显示项菜单,请改用 MenuFlyout 。 有关详细信息,包括 XAML 和代码示例,请参阅 浮出控件。
浮出控件(或 MenuFlyout)用作 Button.Flyout 属性的值。 这通常在 XAML 中设置为页面 UI 定义的一部分。 Button 是唯一具有专用 浮出控件 属性的控件。 若要将浮出控件与其他控件相关联,请使用 FlyoutBase.AttachedFlyout 附加属性。 设置为 Button.Flyout 时,浮出控件将在点击或调用该按钮时显示。 使用 FlyoutBase.AttachedFlyout 将浮出控件分配给其他 UI 元素时,必须调用 ShowAt 方法或静态 ShowAttachedFlyout 方法以显示浮出控件。
除了本参考主题中列出的成员之外,还有基类 FlyoutBase 的其他成员通常用于典型的浮出控件方案:
- FlyoutBase.AttachedFlyout:将浮出控件与特定 UI 元素关联的附加属性(可以是任何 FrameworkElement 派生类)。
- ShowAttachedFlyout:一种静态方法,可确定浮出控件是否已通过 FlyoutBase.AttachedFlyout 分配与 UI 元素关联。 如果是这样,该方法将使用指定的 FrameworkElement 在内部调用 ShowAt。
Accessibility
如果使用没有可聚焦内容的浮出控件(例如仅包含文本),则应采取一些其他步骤来确保内容可访问。 具体而言,你需要确保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() |
初始化 浮出控件 类的新实例。 |
属性
| 名称 | 说明 |
|---|---|
| AllowFocusOnInteraction |
获取或设置一个值,该值指示当用户与其交互时元素是否自动获得焦点。 (继承自 FlyoutBase) |
| AllowFocusWhenDisabled |
获取或设置一个值,该值指定控件在禁用时是否可以接收焦点。 (继承自 FlyoutBase) |
| AreOpenCloseAnimationsEnabled |
获取或设置一个值,该值指示在打开或关闭浮出控件时是否播放动画。 (继承自 FlyoutBase) |
| Content |
获取或设置 浮出控件的内容。 |
| ContentProperty |
获取 Content 依赖属性的标识符。 |
| Dispatcher |
始终在 Windows 应用 SDK 应用中返回 |
| DispatcherQueue |
获取 |
| ElementSoundMode |
获取或设置一个值,该值指定控件是否播放声音的首选项。 (继承自 FlyoutBase) |
| FlyoutPresenterStyle | |
| FlyoutPresenterStyleProperty |
获取 FlyoutPresenterStyle 依赖属性的标识符。 |
| InputDevicePrefersPrimaryCommands |
获取一个值,该值指示用于打开浮出控件的输入设备是否不容易打开辅助命令。 (继承自 FlyoutBase) |
| IsConstrainedToRootBounds |
获取一个值,该值指示浮出控件是否显示在 XAML 根的边界内。 对于Windows 应用 SDK应用,此属性始终true。 (继承自 FlyoutBase) |
| IsOpen |
获取一个值,该值指示浮出控件是否处于打开状态。 (继承自 FlyoutBase) |
| LightDismissOverlayMode |
获取或设置一个值,该值指定浅 色消除 UI 外部的区域是否变暗。 (继承自 FlyoutBase) |
| OverlayInputPassThroughElement |
获取或设置一个元素,该元素应该接收指针输入事件,即使在浮出控件的覆盖之下也是如此。 (继承自 FlyoutBase) |
| Placement |
获取或设置要用于浮出控件的默认位置,相对于其放置目标。 (继承自 FlyoutBase) |
| ShouldConstrainToRootBounds |
获取或设置一个值,该值指示是否应在 XAML 根的边界内显示浮出控件。 (继承自 FlyoutBase) |
| ShowMode |
获取或设置一个值,该值指示浮出控件在显示时的行为方式。 (继承自 FlyoutBase) |
| SystemBackdrop |
获取或设置要应用于此浮出控件的系统背景。 背景呈现在浮出控件内容后面。 (继承自 FlyoutBase) |
| Target |
获取要用作浮出控件放置目标的元素。 (继承自 FlyoutBase) |
| XamlRoot |
获取或设置在其中查看此浮出控件的 XamlRoot。 (继承自 FlyoutBase) |
方法
活动
| 名称 | 说明 |
|---|---|
| Closed |
隐藏浮出控件时发生。 (继承自 FlyoutBase) |
| Closing |
浮出控件开始隐藏时发生。 (继承自 FlyoutBase) |
| Opened |
显示浮出控件时发生。 (继承自 FlyoutBase) |
| Opening |
在显示浮出控件之前发生。 (继承自 FlyoutBase) |