Flyout Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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.
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:
- FlyoutBase.AttachedFlyout: una propiedad adjunta que asocia un control flotante a un elemento de interfaz de usuario determinado (puede ser cualquier clase derivada frameworkElement ).
- ShowAttachedFlyout: un método estático que puede determinar si un control flotante ya está asociado a un elemento de interfaz de usuario a través de una asignación FlyoutBase.AttachedFlyout . Si es así, el método llama a ShowAt internamente, con el frameworkElement que especificó.
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.
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) |