Flyout Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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.
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 :
- FlyoutBase.AttachedFlyout : propriété jointe qui associe un menu volant à un élément d’interface utilisateur particulier (il peut s’agir de n’importe quelle classe dérivée de FrameworkElement ).
- ShowAttachedFlyout : méthode statique qui peut déterminer si un menu volant est déjà associé à un élément d’interface utilisateur via une affectation FlyoutBase.AttachedFlyout . Si c’est le cas, la méthode appelle ShowAt en interne, à l’aide de FrameworkElement que vous avez spécifié.
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.
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 |
| DispatcherQueue |
Obtient le |
| 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) |