在组合框中显示arraylist中对象的单个元素

时间:2017-09-13 19:51:41

标签: c# wpf

我有一个带有2个C#元素字段的对象,我已将它们插入到一个arraylist中。我试图让它们显示在组合框上。

这就是我目前所拥有的

ArrayList mylist = new ArrayList();
mylist.Add(new myobject("name1", "value1"));
mylist.Add(new myobject("name2", "value2"))
mylist.Add(new myobject("name3", "value3"));

ComboBox1.ItemsSource = drinksArray;

以下代码只显示3个元素,即" ClassName.myobject"对于我的组合框。

我试图让它显示" name1"," name2"和" name3"。

我的对象有一个getName()方法,但我不知道如何将它实现到组合框中。

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

getName()类的ToString()方法中调用myobject方法:

public class myobject
{
    ...
    public override string ToString()
    {
        return getName();
    }
}

或者将DisplayMemberPath设置为myobject类的公共属性的名称,该类返回您想要显示的值,如@zambonee所示:

ComboBox1.DisplayMemberPath = "Name";

答案 2 :(得分:0)

我会向您的myobject类添加一个readonly属性,返回getName(),然后将DisplayMemberPath上的ComboBox设置为该属性的名称。

如果名称可以更改,您将需要实现INotifyPropertyChange并在应该更新值时为该属性引发其事件。