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.
Dans le gestionnaire d'événements Loaded de la fenêtre, exécutez le code suivant :
yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
Ceci récupère les valeurs d'énumération et les attribue comme source d'éléments de la ComboBox.
Pour la liaison XAML, employez un ObjectDataProvider :
<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}" SelectedItem="{Binding Path=CurrentEffectStyle}" />
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>
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"
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!