我有下一个枚举
Enum rcCategory
{
Incoming,
Internal,
Outgoing
}
我的班级里有属性“类别”,它有rcCategory []类型。
我想将此属性绑定到listBox。我使用下一个代码
MyListBox.SetBinding (ListBox.ItemsSource, new Binding {Source= myClass.categories});
但是这段代码没有按预期工作。 我怎样才能做到这一点。我的listBox总是空的,但是source属性有值
答案 0 :(得分:1)
见Bea Stollnitz排名靠前的文章。
简而言之,您需要绑定到一个ObjectProvider,它调用静态方法Enum.GetValues(typeof(YourEnum))来返回列表。
http://bea.stollnitz.com/blog/?p=28
更新:抱歉有轻微的速读问题。这个更容易..验证它的工作原理。推荐:找到ProgrammingWPF的副本,然后通过DataBinding章节......
XAML:
<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;
}