Partage via


Flyout Classe

Définition

Représente un contrôle qui affiche une interface utilisateur légère qui est soit des informations, soit nécessite une interaction utilisateur. Contrairement à une boîte de dialogue, un menu volant peut être légèrement ignoré en cliquant ou appuyant en dehors de celui-ci, en appuyant sur le bouton Précédent de l’appareil ou en appuyant sur la touche « Échap ».

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

Héritage
Object IInspectable DependencyObject FlyoutBase Flyout
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

Conseil

Pour plus d’informations, des conseils de conception et des exemples de code, consultez Flyouts.

L’application WinUI 2 Gallery comprend des exemples interactifs de la plupart des contrôles et fonctionnalités WinUI 2. Procurez-vous l’application sur le Microsoft Store ou le code source sur GitHub.

Remarques

Un menu volant affiche un message qui nécessite une interaction de l’utilisateur.

Contrôle de menu volant

Utilisez un contrôle Flyout pour collecter des informations, afficher plus d’informations ou pour des avertissements et des confirmations. Contrairement à une boîte de dialogue, un menu volant ne crée pas de fenêtre distincte et ne bloque pas d’autres interactions utilisateur. Pour afficher un menu d’éléments, utilisez un MenuFlyout à la place. Pour plus d’informations, y compris des exemples XAML et de code, consultez Démarrage rapide : Ajout d’un menu volant.

Un contrôle Flyout (ou MenuFlyout) est utilisé comme valeur de la propriété Button.Flyout . Cette valeur est généralement définie en XAML dans le cadre d’une définition d’interface utilisateur de la page. Button est le seul contrôle qui a une propriété Flyout dédiée. Pour associer un flyout à d’autres contrôles, utilisez la propriété jointe FlyoutBase.AttachedFlyout . Lorsqu’il est défini sur Button.Flyout, le menu volant s’affiche lorsque le bouton est appuyé ou appelé. Lorsqu’un flyout est affecté à d’autres éléments d’interface utilisateur à l’aide de FlyoutBase.AttachedFlyout, vous devez appeler la méthode ShowAt ou la méthode statique ShowAttachedFlyout pour afficher le menu volant.

Outre les membres répertoriés dans cette rubrique de référence, il existe d’autres membres de la classe de base FlyoutBase qui sont souvent utilisés dans les scénarios de flyout classiques :

Accessibilité

Si vous utilisez un menu volant sans contenu focalisable(par exemple, avec uniquement du texte, comme indiqué ici), vous devez prendre des mesures supplémentaires pour vous assurer que votre contenu est accessible. Plus précisément, vous devez vous assurer que le Narrateur Windows ou d’autres lecteurs d’écran peuvent lire le contenu du menu volant.

Contrôle de menu volant avec du contenu texte

Par défaut, il existe des propriétés définies sur FlyoutPresenter qui l’empêchent de recevoir le focus. Il s’agit du comportement souhaité lorsque le contenu du menu volant peut recevoir le focus. Toutefois, si le contenu du flyout ne peut pas recevoir le focus, vous devez mettre à jour vers flyoutPresenterStyle pour permettre au FlyoutPresenter de recevoir le focus à la place. Pour ce faire, définissez IsTabStop sur true et TabNavigation sur Cycle sur le style de présentateur de menu volant.

Cet exemple montre comment laisser flyoutPresenter recevoir le focus afin que le contenu soit accessible.

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

Constructeurs

Flyout()

Initialise une nouvelle instance de la classe Flyout.

Propriétés

AllowFocusOnInteraction

Obtient ou définit une valeur qui indique si l’élément obtient automatiquement le focus lorsque l’utilisateur interagit avec lui.

(Hérité de FlyoutBase)
AllowFocusWhenDisabled

Obtient ou définit une valeur qui spécifie si le contrôle peut recevoir le focus lorsqu’il est désactivé.

(Hérité de FlyoutBase)
AreOpenCloseAnimationsEnabled

Obtient ou définit une valeur qui indique si les animations sont lues lorsque le menu volant est ouvert ou fermé.

(Hérité de FlyoutBase)
Content

Obtient ou définit le contenu du menu volant.

ContentProperty

Obtient l’identificateur de la propriété de dépendance Content .

Dispatcher

Obtient le CoreDispatcher auquel cet objet est associé. CoreDispatcher représente une installation qui peut accéder à DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur.

(Hérité de DependencyObject)
ElementSoundMode

Obtient ou définit une valeur qui spécifie la préférence du contrôle pour savoir s’il lit des sons.

(Hérité de FlyoutBase)
FlyoutPresenterStyle

Obtient ou définit le style appliqué au contenu du menu volant .

FlyoutPresenterStyleProperty

Obtient l’identificateur de la propriété de dépendance FlyoutPresenterStyle .

InputDevicePrefersPrimaryCommands

Obtient une valeur qui indique si le périphérique d’entrée utilisé pour ouvrir le menu volant n’ouvre pas facilement les commandes secondaires.

(Hérité de FlyoutBase)
IsConstrainedToRootBounds

Obtient une valeur qui indique si le menu volant est affiché dans les limites de la racine XAML.

(Hérité de FlyoutBase)
IsOpen

Obtient une valeur qui indique si le menu volant est ouvert.

(Hérité de FlyoutBase)
LightDismissOverlayMode

Obtient ou définit une valeur qui spécifie si la zone située à l’extérieur d’une interface utilisateur light-dismiss est assombrie.

(Hérité de FlyoutBase)
OverlayInputPassThroughElement

Obtient ou définit un élément qui doit recevoir des événements d’entrée de pointeur, même sous la superposition du menu volant.

(Hérité de FlyoutBase)
Placement

Obtient ou définit le placement par défaut à utiliser pour le menu volant, par rapport à sa cible de placement.

(Hérité de FlyoutBase)
ShouldConstrainToRootBounds

Obtient ou définit une valeur qui indique si le menu volant doit être affiché dans les limites de la racine XAML.

(Hérité de FlyoutBase)
ShowMode

Obtient ou définit une valeur qui indique le comportement d’un menu volant lorsqu’il est affiché.

(Hérité de FlyoutBase)
Target

Obtient l’élément à utiliser comme cible de placement du menu volant.

(Hérité de FlyoutBase)
XamlRoot

Obtient ou définit le XamlRoot dans lequel ce menu volant est en cours d’affichage.

(Hérité de FlyoutBase)

Méthodes

ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété de dépendance.

(Hérité de DependencyObject)
CreatePresenter()

En cas de substitution dans une classe dérivée, initialise un contrôle pour afficher le contenu du menu volant approprié pour le contrôle dérivé. Remarque : Cette méthode n’a pas d’implémentation de classe de base et doit être remplacée dans une classe dérivée.

(Hérité de FlyoutBase)
GetAnimationBaseValue(DependencyProperty)

Retourne toute valeur de base établie pour une propriété de dépendance, qui s’applique dans les cas où une animation n’est pas active.

(Hérité de DependencyObject)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un objet DependencyObject.

(Hérité de DependencyObject)
Hide()

Ferme le menu volant.

(Hérité de FlyoutBase)
OnProcessKeyboardAccelerators(ProcessKeyboardAcceleratorEventArgs)

Appelé juste avant qu’un raccourci clavier (accélérateur) ne soit traité dans votre application. Appelé chaque fois que le code d’application ou les processus internes appellent ProcessKeyboardAccelerators. Remplacez cette méthode pour influencer la gestion de l’accélérateur par défaut.

(Hérité de FlyoutBase)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie.

(Hérité de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance sur un DependencyObject.

(Hérité de DependencyObject)
ShowAt(DependencyObject, FlyoutShowOptions)

Affiche le menu volant placé par rapport à l’élément spécifié à l’aide des options spécifiées.

(Hérité de FlyoutBase)
ShowAt(FrameworkElement)

Affiche le menu volant placé par rapport à l’élément spécifié.

(Hérité de FlyoutBase)
TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs)

Tente d’appeler un raccourci clavier (accélérateur).

(Hérité de FlyoutBase)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

Événements

Closed

Se produit lorsque le menu volant est masqué.

(Hérité de FlyoutBase)
Closing

Se produit lorsque le menu volant commence à être masqué.

(Hérité de FlyoutBase)
Opened

Se produit lorsque le menu volant s’affiche.

(Hérité de FlyoutBase)
Opening

Se produit avant l’affichage du menu volant.

(Hérité de FlyoutBase)

S’applique à

Voir aussi