He buscado y me parece muy fácil enlazar enumeraciones al cuadro combinado, solo recuperar valores Enum como una lista de cadenas a través de un ObjectDataProvider del método Enum.GetValues estático, sin embargo, no puedo hacer que funcione. El error es Type ContactExportType no se encontró.ComboBox vinculante a enum, ¿qué hice mal?
Tengo una enumeración llamada ContactExportType, que reside en la clase Enums. Esta clase es parte del espacio de nombres CEM.Marketing.Objects.
Esto es lo que tengo:
<UserControl
xmlns:local="clr-namespace:CEM.Marketing.Objects"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Grid>
<Grid.Resources>
<ObjectDataProvider MethodName="GetValues"
ObjectType="{x:Type sys:Enum}"
x:Key="ContactExportTypes">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="local:ContactExportType" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Grid.Resources>
</Grid>
<ComboBox
ItemsSource="{Binding {StaticResource ContactExportTypes}}"
...
Gracias, Angela
Gracias a Chris por su ayuda. No pude hacerlo en XAML después de probar cosas diferentes. Parece que no admite un nivel inferior en la estructura de clases. Lo que hice para que funcione es enlazar itemSource en el código de atrás. combobox.ItemsSource = Enum.GetValues (typeof (Enums.ContactExportType)); – Angela