WPF - Настройка индекса и значения элемента ComboBox через анонимные типы LINQ - PullRequest
1 голос
/ 28 августа 2011

Я хочу получить данные из 2 столбцов таблицы базы данных и связать эти 2 столбца со свойствами индекса элемента списка и значения элемента соответственно.Я извлекаю свои данные из таблицы примеров моей базы данных с помощью этого анонимного запроса:

var result = from obj in context.Samples
             select new { obj.ID , obj.Name };

Я хочу установить значение индекса по умолчанию для каждого элемента в моем поле со списком obj.ID и значение каждого соответствующего поля со списком.item to obj.Name, так что вместо элементов в моем поле со списком, имеющих значения по умолчанию, начинающиеся с 0, 1, 2 .... их значения индекса будут иметь значение obj.ID, возвращаемое моим запросом LINQ, и фактическое значениепункт будет obj.Name.

Извините, если это глупый / дилетантский вопрос, но я потратил несколько часов, пытаясь его исправить, и мне не повезло.Заранее спасибо.

1 Ответ

3 голосов
/ 28 августа 2011

Свойство SelectedIndex всегда изменяется от -1 (элемент не выбран) до count-1, вы не можете это изменить.Если вы хотите сохранить ID и Name для каждого элемента в ComboBox, вы можете сделать это:

Создать неанонимный тип Sample, содержащий эти два свойства.Затем присвойте (или свяжите) коллекцию Sample s ComboBox s ItemSource и установите DisplayMemberPath в Name.Затем вы можете получить доступ к ID выбранного элемента, используя ((Sample)yourComboBox.SelectedItem).ID.

...