2017-09-13 15 views
0

私はC#用の2つの要素フィールドを持つオブジェクトを持っており、それらをarraylistに挿入しました。私はそれらをコンボボックスに表示させようとしています。コンボボックスにarraylistのオブジェクトの個々の要素を表示

これは、私は現在、次のコードは、ちょうど私のコンボボックスのための「ClassName.myobject」ある3つの要素を表示していました

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; 

を持っているものです。

"name1"、 "name2"、 "name3"を表示しようとしています。

私はオブジェクトのgetName()メソッドを持っていますが、コンボボックスに実装する方法はわかりません。

答えて

1

コールgetName()myobjectクラスのToString()方法で方法:

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

または値を返すmyobjectクラスのパブリックプロパティの名前にDisplayMemberPathを設定@ zamboneeさんが示唆したように表示したいと考えています:

ComboBox1.DisplayMemberPath = "Name"; 
0

あなたのmyobjectクラスにreadonlyプロパティを追加して、getName()を返し、ComboBoxDisplayMemberPathをそのプロパティの名前に設定します。

名前が変更される可能性がある場合は、INotifyPropertyChangeを実装し、値を更新する必要があるときはいつでもプロパティのイベントを発生させたいと思うでしょう。

関連する問題