Maison >développement back-end >C++ >Comment lier une énumération à une ComboBox WPF ?
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>();</effectstyle>
Liaison en XAML
Utilisation d'ObjectDataProvider :
<window.resources> <objectdataprovider x:key="dataFromEnum" methodname="GetValues" objecttype="{x:Type System:Enum}"> <objectdataprovider.methodparameters> <type typename="StyleAlias:EffectStyle"></type> </objectdataprovider.methodparameters> </objectdataprovider> </window.resources> <grid> <combobox itemssource="{Binding Source={StaticResource dataFromEnum}}" selecteditem="{Binding Path=CurrentEffectStyle}"></combobox> </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!