Основная c проблема с вашим кодом заключается в том, что вы создали список, полный объектов типа YaziciBilgiler с одним строковым членом yaziciAdi
Combo не знает, как это отображать, это не так. 'Не знаю, как получить свойство yaziciAdi и показать его, и вы не сказали ему, поэтому единственное, что он может сделать при столкновении с неизвестным объектом, - это вызвать ToString () для него, чтобы получить строку и отобразить эту строку
Так как вы не переопределили ToString, он выполняет свое действие по умолчанию, а именно сообщает имя класса. Это означает, что ваша комбинация заполнена повторяющимися словами YaziciBilgiler
У вас есть несколько вариантов:
- переопределить ToString, чтобы он возвращал свойство yaziciAdi
- сделать свой код который добавляет элементы внутри l oop, добавьте свойство yaziciAdi вместо всего объекта:
cbYazici.Items.Add(item.yaziciAdi);
- вместо этого измените член yaziciAdi на свойство. привяжите поле со списком к списку или к таблице данных - обсуждение этого находится в комментариях к вопросу. Я не использую WPF, но читаю вокруг, я думаю, что код может быть примерно таким:
cbYazici.SetBinding(
ItemsControl.ItemsSourceProperty,
new Binding { Source = yazici });
cbYazici.DisplayMemberPath = "yaziciAdi";
Или используйте эквивалент в XAML (если программный код не может их установить; я ' Я не знаю, может это или нет, и любой опытный WPF-ребята не стесняйтесь редактировать этот ответ, если я ошибаюсь)
Примечание: для привязки свойства yaziciAdi
ДОЛЖНО быть свойством, а не полем