我已经搜索过,看起来很容易将枚举绑定到组合框,只是通过静态Enum.GetValues方法中的ObjectDataProvider检索Enum值作为字符串列表,但是我无法让它工作。错误是类型ContactExportType未找到。组合框绑定到枚举,我做错了什么?
我有一个名为ContactExportType的枚举,它驻留在Enums类上。该类是CEM.Marketing.Objects命名空间的一部分。
这是我有:
<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}}"
...
感谢, 安吉拉
克里斯感谢您的帮助。在尝试不同的事情之后,我无法在XAML中完成这项工作。似乎它不支持类结构中的一个层次。我所做的工作就是在后面的代码中绑定itemSource。 combobox.ItemsSource = Enum.GetValues(typeof(Enums.ContactExportType)); – Angela 2009-05-18 16:32:45