Langage

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 ignoré en cliquant ou en appuyant en dehors de celui-ci, en appuyant sur le bouton Précédent de l’appareil ou en appuyant sur la touche « Échap ».

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

Héritage
Object IInspectable DependencyObject FlyoutBase Flyout
Attributs

Exemples

Tip

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

L’application WinUI 3 Gallery inclut des exemples interactifs de la plupart des contrôles, des caractéristiques et des fonctionnalités de WinUI 3. Obtenez l’application à partir du Microsoft Store ou obtenez le code source sur GitHub

Remarques

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

Contrôle de menu volant

Utilisez un contrôle de menu volant pour collecter des informations, pour afficher plus d’informations ou pour les avertissements et les 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 plutôt un MenuFlyout . Pour plus d’informations, notamment des exemples xaml et de code, consultez Menu volant.

Un contrôle Flyout (ou MenuFlyout) est utilisé comme valeur de la propriété Button.Flyout . Cela est généralement défini 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 menu volant à 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é autrement. Lorsqu’un menu volant 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 ShowAttachedFlyout statique pour afficher le menu volant.

En plus des membres répertoriés dans cette rubrique de référence, d’autres membres de la classe de base FlyoutBase sont souvent utilisés dans les scénarios de menu volant classiques :

Accessibilité

Si vous utilisez un menu volant sans contenu focus, 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 Windows Narrateur ou d'autres lecteurs d'écran peuvent lire le contenu du menu volant.

Contrôle volant avec du contenu texte

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

Cet exemple montre comment laisser le 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

Nom Description
Flyout()

Initialise une nouvelle instance de la classe Flyout .

Propriétés

Nom Description
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 de contenu .

Dispatcher

Retourne null toujours dans une application du Kit de développement logiciel (SDK) d’application Windows. Utilisez DispatcherQueue à la place.

(Hérité de DependencyObject)
DispatcherQueue

Obtient le DispatcherQueue résultat auquel cet objet est associé. Représente DispatcherQueue une installation qui peut accéder au DependencyObject thread d’interface utilisateur même si le code est initié par un thread non-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 si elle 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 l’appareil 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. Cette propriété est toujours true pour les applications SDK d'application Windows.

(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 en dehors d’une interface utilisateur d’abandon clair 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 en dessous de la superposition du menu volant.

(Hérité de FlyoutBase)
Placement

Obtient ou définit l’emplacement 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)
SystemBackdrop

Obtient ou définit la toile de fond du système à appliquer à ce menu volant. La toile de fond est affichée derrière le contenu du menu volant.

(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 code XamlRoot dans lequel ce menu volant est en cours d’affichage.

(Hérité de FlyoutBase)

Méthodes

Nom Description
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 en fonction du contrôle dérivé. Remarque : cette méthode n’a pas d’implémentation de classe de base et doit être substitué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 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) soit traité dans votre application. Appelé chaque fois que le code de l’application ou les processus internes appellent ProcessKeyboardAccelerators. Remplacez cette méthode pour influencer la gestion par défaut de l’accélérateur.

(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 à une dependencyProperty spécifique sur cette 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 qui a été précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

Événements

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