在XAML中使用给定枚举中的所有项填充WPF组合框,可以通过以下步骤实现:
public enum MyEnum
{
Item1,
Item2,
Item3
}
ObjectDataProvider
创建一个枚举类型的实例,并将其作为资源: <ObjectDataProvider x:Key="MyEnumDataProvider"
MethodName="GetValues"
ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="local:MyEnum" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
其中,local
是指代代码所在命名空间的命名空间前缀,sys
是指代System
命名空间的前缀。
ComboBox
创建一个组合框,并将其ItemsSource
属性绑定到ObjectDataProvider
的结果: ItemsSource="{Binding Source={StaticResource MyEnumDataProvider}}" />
这样,组合框就会自动填充枚举类型中的所有项。
需要注意的是,如果枚举类型定义在一个不同的命名空间中,需要在ObjectDataProvider
的MethodParameters
中使用正确的命名空间前缀。
领取专属 10元无门槛券
手把手带您无忧上云