WPF ComboBox Данные привязаны к классу - PullRequest
0 голосов
/ 07 февраля 2011

Если возможно связать поле со списком WPF с классом. У меня есть класс, который реализует IEmunerable и IEnumerator и содержит список объектов, как показано ниже:

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 ]

2 голосов
/ 07 февраля 2011
cboTitle.SelectedValue = "Title";

должно быть

cboTitle.DisplayMemberPath = "Title";
1 голос
/ 07 февраля 2011

Изменение

cboTitle.SelectedValue = "Заголовок";

до

cboTitle.DisplayMemberPath = "Title";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...