Здравствуйте!
На каждый элемент ListBox вешаю контекстное меню, в котором есть те или иные опции. Я без труда могу получить SelectedIndex каждого элемента при выборе опции из контекстного меню, но этого недостаточно для идентификации. Вернее, это идентифицирует элемент относительно данного списка.
Но у меня список формируется из новостей, которые лежат в БД, которые имеют свой уникальный ID. Мне вот как раз по нему и нужно идентифицировать все записи.
Отсюда у меня два вопроса, каждый из которых идет по своему пути.
1. Возможно ли как-то при формировании списка задать индекс вручную?
2. Если первый вариант невозможен, то возможно ли вынуть в обработчике события (клика по элементу из контекстного меню) то или иное значение, которое добавлялось в список при его формировании?
Заполняю список следующим образом:
var lines = new List<NewsList>();
while (reader.Read())
{
DateTime dateAdd = reader.GetDateTime(3);
lines.Add(new NewsList() { ID = reader.GetInt32(0), Title = reader.GetString(1), Text = reader.GetString(2), DateAdd = dateAdd.ToString("d MMM yyyy, HH:mm") });
}
myListBox.DataContext = lines;
Сам NewsList выглядит так:
public class NewsList
{
public Int32 ID { get; set; }
public String Title { get; set; }
public String Text { get; set; }
public String DateAdd { get; set; }
}