2011-02-07 10 views
0

WPFコンボボックスをクラスにバインドすることはできますか。次のように私は、IEmunerableとのIEnumeratorを実装するクラスを持っている、とオブジェクトのリストが含まれていますので、WPF ComboBoxクラスにバインドされたデータ

class MyClass 
{ 
    public string Title { get; set; } 
    public string Directory { get; set; } 

    public MyClass(string title, string directory) 
    { 
     Title = title; 
     Directory = directory; 
    } 
} 

class MyClasses : IEnumerable, IEnumerator 
{ 
    private List<MyClass> allClasses; 
    private int position = 0; 

    public List<MyClass> GetClasses() 
    { 
     allClasses = new List<MyClass>() 
     { 
      new MyClass("example1", "dir1"), 
      new MyClass("example2", "dir2") 
     }; 

     return allClasses; 
    } 


    public IEnumerator GetEnumerator() 
    { 
     return (IEnumerator) this; 
    } 

    public object Current 
    { 
     get 
     { 
      return allClasses[position]; 
     } 
    } 

    public bool MoveNext() 
    { 
     position++; 
     return (position < allClasses.Count());    
    } 

    public void Reset() 
    { 
     position = -1; 
    } 
} 

今私はWPFのコンボボックスにこれをバインドしたいです。ここでは(私が代わりにオブジェクトのタイプ名のリストを取得)動作しない、私が持っているものです。

 allClasses.GetClasses(); 

     cboTest.ItemsSource = allClasses; 
     cboTitle.SelectedValue = "Title"; 

誰がどのようにこのバインディングを実装する方法を教えすることはできますか?

答えて

2
cboTitle.SelectedValue = "Title"; 

cboTitle.DisplayMemberPath = "Title"; 
1

変更

cboTitle.SelectedValue = "タイトル" である必要があります。

cboTitle.DisplayMemberPath = "タイトル" へ

関連する問題