【发布时间】:2010-10-27 01:47:03
【问题描述】:
我已经四处搜索,似乎很容易将枚举绑定到组合框,只需通过 ObjectDataProvider 从静态 Enum.GetValues 方法检索枚举值作为字符串列表,但是我无法让它工作。错误是未找到类型 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));