Une tentative d'affichage des valeurs d'énumération en tant qu'éléments dans une ComboBox sans chaînes d'affichage supplémentaires s'est avérée infructueuse. Le code XAML utilise une liaison à une propriété de classe, mais les valeurs d'énumération n'apparaissent pas.
Liaison via le code
Dans la fenêtre chargée gestionnaire d'événements, remplissez la propriété ItemsSource avec enum valeurs :
yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
Liaison en XAML
Utilisation d'ObjectDataProvider :
<Window.Resources> <ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues" ObjectType="{x:Type System:Enum}"> <ObjectDataProvider.MethodParameters> <x:Type TypeName="StyleAlias:EffectStyle"/> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> </Window.Resources> <Grid> <ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}" SelectedItem="{Binding Path=CurrentEffectStyle}" /> </Grid>
Mappage d'espace de noms
Notez l'utilisation d'alias pour espaces de noms :
xmlns:System="clr-namespace:System;assembly=mscorlib" xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
Pour un mappage approprié des espaces de noms et des assemblys, reportez-vous à la documentation MSDN.
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!