Wpf 将枚举[]绑定到列表框
我有下一个例子Wpf 将枚举[]绑定到列表框,wpf,binding,enums,Wpf,Binding,Enums,我有下一个例子 Enum rcCategory { Incoming, Internal, Outgoing } 我的类中有属性“categories”,它的类型是rcCategory[] 我想将此属性绑定到列表框。我使用下一个代码 MyListBox.SetBinding (ListBox.ItemsSource, new Binding {Source= myClass.categories}); 但是这段代码并没有像预期的那样工作。 我怎样才能做到这一点。“我的列表框”始终
Enum rcCategory
{
Incoming,
Internal,
Outgoing
}
我的类中有属性“categories”,它的类型是rcCategory[]
我想将此属性绑定到列表框。我使用下一个代码
MyListBox.SetBinding (ListBox.ItemsSource, new Binding {Source= myClass.categories});
但是这段代码并没有像预期的那样工作。
我怎样才能做到这一点。“我的列表框”始终为空,但源属性具有值请参阅Bea Stollnitz关于它的排名靠前的文章。
简而言之,您需要绑定到一个ObjectProvider,它调用静态方法Enum.GetValues(typeof(YourEnum))来返回列表 更新:抱歉,出现了轻微的快速阅读问题。这个比较容易。。验证它是否有效。推荐:找到一份ProgrammingWPF的副本并浏览数据绑定一章 XAML:
我读了这篇文章。但在这个将简单枚举绑定到ListBox的唯一示例中。我的enum[]问题不是简单的enum
<ListBox DockPanel.Dock="Left" ItemsSource="{Binding EnumArrayProp}"/>
public partial class Window1 : Window
{
public rcCategory[] EnumArrayProp
{
get; set;
}
public Window1()
{
InitializeComponent();
this.EnumArrayProp = new rcCategory[] { rcCategory.Incoming, rcCategory.Incoming, rcCategory.Outgoing };
this.DataContext = this;
}