2013-03-07 3 views
3

У меня есть приложение Windows 8 с ListView:Получить Нажал элемент ListView атрибуты

<ListView x:Name="EventListView" ItemClick="EventListView_ItemClick_1" IsItemClickEnabled="True"/> 

Там есть некоторые объекты событий (отдельный класс со строкой атрибутов, как EventType, описание, время и т.д ..), что источник ListView:

List<Event> eventlist = new List<Event>{ 
    new Event(CONNECTION, "Disconnected",   DateTime.Now.ToString(), MONITOR,   "SAMSUNG M5",  CONNECTION_IMG, RED), 
    new Event(SYNC,   "Synchronised",   DateTime.Now.ToString(), LAPTOP,   "ASUS X402",   SYNC_IMG,   BLUE), 
    new Event(WARNING,  "Overheated!",   DateTime.Now.ToString(), PRINTER,   "CANON MP280",  WARING_IMG,  YELLOW), 
}; 

EventListView.ItemsSource = eventlist; 

Я пытался получить доступ к информации о щелкнутом пункте, но его, кажется, не установлен:

private void EventListView_ItemClick_1(object sender, ItemClickEventArgs e) 
{ 
    Event item = sender as Event; 
    GetInfoText.Text = item.Description.ToString(); 
} 

Как я могу получить атрибуты события за клик?

ответ

4

Объект Event хранится в параметре e:

private void EventListView_ItemClick_1(object sender, ItemClickEventArgs e) 
{ 
    Event item = e.ClickedItem as Event; 
    GetInfoText.Text = item.Description.ToString(); 
} 

Я считаю, что параметр sender является ListView.

2

Так как вы назвали ваш ListView EventListView вы можете сделать следующее:

private void EventListView_ItemClick_1(object sender, ItemClickEventArgs e) 
{ 
    Event item = EventListView.SelectedItem as Event; 
    GetInfoText.Text = item.Description.ToString(); 
} 

По крайней мере, это то, как я делаю.

 Смежные вопросы

  • Нет связанных вопросов^_^