Flyout Clase

Definición

Representa un control que muestra una interfaz de usuario ligera que es información o requiere interacción del usuario. A diferencia de un cuadro de diálogo, un control flotante puede descartarse haciendo clic o pulsando fuera de él, presionando el botón Atrás del dispositivo o presionando la tecla "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>

Herencia
Object IInspectable DependencyObject FlyoutBase Flyout
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Ejemplos

Sugerencia

Para obtener más información, instrucciones de diseño y ejemplos de código, consulte Controles flotantes.

La aplicación WinUI 2 Gallery incluye ejemplos interactivos de la mayoría de los controles, características y funcionalidades de WinUI 2. Obtenga la aplicación en Microsoft Store u obtenga el código fuente en GitHub.

Comentarios

Un control flotante muestra un mensaje que requiere interacción del usuario.

Control de control flotante

Use un control Flyout para recopilar información, para mostrar más información o para advertencias y confirmaciones. A diferencia de un cuadro de diálogo, un control flotante no crea una ventana independiente y no bloquea la interacción del usuario. Para mostrar un menú de elementos, use menuFlyout en su lugar. Para obtener más información, incluidos los ejemplos de código y XAML, consulta Inicio rápido: Agregar un control flotante.

Un control Flyout (o MenuFlyout) se usa como valor de la propiedad Button.Flyout . Normalmente, esto se establece en XAML como parte de una definición de interfaz de usuario de la página. Button es el único control que tiene una propiedad Flyout dedicada. Para asociar un control flotante con otros controles, use la propiedad adjunta FlyoutBase.AttachedFlyout . Cuando se establece como Button.Flyout, el control flotante se muestra cuando se pulsa el botón o se invoca de otro modo. Cuando se asigna un control flotante a otros elementos de la interfaz de usuario mediante FlyoutBase.AttachedFlyout, debe llamar al método ShowAt o al método estático ShowAttachedFlyout para mostrar el control flotante.

Además de los miembros enumerados en este tema de referencia, hay otros miembros de la clase base FlyoutBase que a menudo se usan en escenarios de control flotante típicos:

Accesibilidad

Si usa un control flotante sin contenido enfocado, por ejemplo, con solo texto, como se muestra aquí, debe realizar algunos pasos adicionales para asegurarse de que el contenido sea accesible. En concreto, debe asegurarse de que el Narrador de Windows u otros lectores de pantalla puedan leer el contenido del control flotante.

Control flotante con contenido de texto

De forma predeterminada, hay propiedades establecidas en flyoutPresenter que impiden que reciba el foco. Este es el comportamiento deseado cuando el contenido dentro del control flotante puede recibir el foco. Sin embargo, si el contenido dentro del control flotante no puede recibir el foco, debe actualizar a FlyoutPresenterStyle para permitir que FlyoutPresenter reciba el foco en su lugar. Para ello, establezca IsTabStop entrue y TabNavigation en Cycle en el estilo del moderador del control flotante.

En este ejemplo se muestra cómo permitir que FlyoutPresenter reciba el foco para que el contenido sea accesible.

<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>

Constructores

Flyout()

Inicializa una nueva instancia de la clase Flyout .

Propiedades

AllowFocusOnInteraction

Obtiene o establece un valor que indica si el elemento obtiene automáticamente el foco cuando el usuario interactúa con él.

(Heredado de FlyoutBase)
AllowFocusWhenDisabled

Obtiene o establece un valor que especifica si el control puede recibir el foco cuando está deshabilitado.

(Heredado de FlyoutBase)
AreOpenCloseAnimationsEnabled

Obtiene o establece un valor que indica si las animaciones se reproducen cuando se abre o cierra el control flotante.

(Heredado de FlyoutBase)
Content

Obtiene o establece el contenido del control flotante.

ContentProperty

Obtiene el identificador de la propiedad de dependencia Content .

Dispatcher

Obtiene el CoreDispatcher al que está asociado este objeto. CoreDispatcher representa una instalación que puede tener acceso a DependencyObject en el subproceso de interfaz de usuario incluso si un subproceso que no es de interfaz de usuario inicia el código.

(Heredado de DependencyObject)
ElementSoundMode

Obtiene o establece un valor que especifica la preferencia del control para si reproduce sonidos.

(Heredado de FlyoutBase)
FlyoutPresenterStyle

Obtiene o establece el estilo aplicado al contenido de control flotante .

FlyoutPresenterStyleProperty

Obtiene el identificador de la propiedad de dependencia FlyoutPresenterStyle .

InputDevicePrefersPrimaryCommands

Obtiene un valor que indica si el dispositivo de entrada usado para abrir el control flotante no abre fácilmente los comandos secundarios.

(Heredado de FlyoutBase)
IsConstrainedToRootBounds

Obtiene un valor que indica si el control flotante se muestra dentro de los límites de la raíz XAML.

(Heredado de FlyoutBase)
IsOpen

Obtiene un valor que indica si el control flotante está abierto.

(Heredado de FlyoutBase)
LightDismissOverlayMode

Obtiene o establece un valor que especifica si el área fuera de una interfaz de usuario de cierre de luz está oscura.

(Heredado de FlyoutBase)
OverlayInputPassThroughElement

Obtiene o establece un elemento que debe recibir eventos de entrada de puntero incluso cuando se encuentra debajo de la superposición del control flotante.

(Heredado de FlyoutBase)
Placement

Obtiene o establece la ubicación predeterminada que se va a usar para el control flotante, en relación con su destino de selección de ubicación.

(Heredado de FlyoutBase)
ShouldConstrainToRootBounds

Obtiene o establece un valor que indica si el control flotante debe mostrarse dentro de los límites de la raíz XAML.

(Heredado de FlyoutBase)
ShowMode

Obtiene o establece un valor que indica cómo se comporta un control flotante cuando se muestra.

(Heredado de FlyoutBase)
Target

Obtiene el elemento que se va a usar como destino de selección de ubicación del control flotante.

(Heredado de FlyoutBase)
XamlRoot

Obtiene o establece el xamlRoot en el que se ve este control flotante.

(Heredado de FlyoutBase)

Métodos

ClearValue(DependencyProperty)

Borra el valor local de una propiedad de dependencia.

(Heredado de DependencyObject)
CreatePresenter()

Cuando se invalida en una clase derivada, inicializa un control para mostrar el contenido del control flotante según corresponda para el control derivado. Nota: Este método no tiene ninguna implementación de clase base y debe reemplazarse en una clase derivada.

(Heredado de FlyoutBase)
GetAnimationBaseValue(DependencyProperty)

Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa.

(Heredado de DependencyObject)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia de dependencyObject.

(Heredado de DependencyObject)
Hide()

Cierra el control flotante.

(Heredado de FlyoutBase)
OnProcessKeyboardAccelerators(ProcessKeyboardAcceleratorEventArgs)

Se llama justo antes de que se procese un método abreviado de teclado (acelerador) en la aplicación. Se invoca cada vez que el código de aplicación o los procesos internos llaman a ProcessKeyboardAccelerators. Invalide este método para influir en el control predeterminado del acelerador.

(Heredado de FlyoutBase)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si se establece un valor local.

(Heredado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una función de notificación para escuchar los cambios en una dependencyProperty específica en esta instancia de DependencyObject .

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia en dependencyObject.

(Heredado de DependencyObject)
ShowAt(DependencyObject, FlyoutShowOptions)

Muestra el control flotante colocado en relación con el elemento especificado mediante las opciones especificadas.

(Heredado de FlyoutBase)
ShowAt(FrameworkElement)

Muestra el control flotante colocado en relación con el elemento especificado.

(Heredado de FlyoutBase)
TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs)

Intenta invocar un método abreviado de teclado (acelerador).

(Heredado de FlyoutBase)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela una notificación de cambio registrada anteriormente llamando a RegisterPropertyChangedCallback.

(Heredado de DependencyObject)

Eventos

Closed

Se produce cuando el control flotante está oculto.

(Heredado de FlyoutBase)
Closing

Se produce cuando el control flotante comienza a ocultarse.

(Heredado de FlyoutBase)
Opened

Se produce cuando se muestra el control flotante.

(Heredado de FlyoutBase)
Opening

Se produce antes de que se muestre el control flotante.

(Heredado de FlyoutBase)

Se aplica a

Consulte también