Maison > développement back-end > C++ > Comment lier des énumérations aux contrôles WPF ComboBox ?

Comment lier des énumérations aux contrôles WPF ComboBox ?

Linda Hamilton
Libérer: 2025-01-05 19:16:41
original
698 Les gens l'ont consulté

How to Bind Enums to WPF ComboBox Controls?

Liaison d'énumérations aux contrôles WPF ComboBox

Lorsque vous tentez d'afficher des valeurs d'énumération en tant qu'éléments dans une ComboBox, la liaison directement à partir du DataContext peut ne pas suffire. Pour résoudre ce problème, nous présentons deux approches pour résoudre ce problème : via le code et la liaison XAML.

Liaison basée sur le code

Dans le gestionnaire d'événements Loaded de la fenêtre, exécutez le code suivant :

yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
Copier après la connexion

Ceci récupère les valeurs d'énumération et les attribue comme source d'éléments de la ComboBox.

XAML Liaison

Pour la liaison XAML, employez un ObjectDataProvider :

<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
                  SelectedItem="{Binding Path=CurrentEffectStyle}" />
Copier après la connexion

Dans la section Ressources de la fenêtre, définissez l'ObjectDataProvider :

<ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues"
                            ObjectType="{x:Type System:Enum}">
            <ObjectDataProvider.MethodParameters>
                <x:Type TypeName="StyleAlias:EffectStyle"/>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
Copier après la connexion

N'oubliez pas de déclarer les espaces de noms nécessaires :

xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
Copier après la connexion

Ces méthodes fournissent des moyens simples et efficaces de lier des énumérations aux contrôles ComboBox dans WPF.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal