1.传统绑定方式:使用ObjectDataProvider
先定义ObjectDataProvider
<ObjectDataProvider x:Key="dataFromEnum" ObjectType="{x:Type system:Enum}"
MethodName="GetValues">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="enums:ERunType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
在控件中使用
<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"></ComboBox>
2.使用MarkupExtension
定义继承税于MarkupExtension的类
public class EnumBindingSourceExtension:MarkupExtension
{
public Type EnumType { get; private set; }
public EnumBindingSourceExtension(Type _enumType)
{
EnumType = _enumType;