如何绑定枚举值
如何绑定枚举值
你不能够直接地绑定枚举的值到一个列表控件,因为枚举类型不提供一个属性返回所有值。只有一个方法获取所有名字通过调用GetNames方法。但是如何在XAML中调用一个方法?
诀窍是使用ObjectDataProvider(对象内容提供者),允许你指定一个方法和它的参数,并从XAML中调用它。结果可以被普通的数据绑定使用。
xmlns:sys="clr-namespace:System;assembly=mscorlib"
<Window.Resources>
<ObjectDataProvider x:Key="alignments" MethodName="GetNames" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="VerticalAlignment">
</ObjectDataProvider.MethodParameters>
<ObjectDataProvider>
</Window.Resources>
<ComboBox ItemsSource="{Binding Source={StaticResource aligmnments}}" />

浙公网安备 33010602011771号