2013-03-07 104 views
3

我有一个ListView一个Windows 8应用程序:获得点击ListView项属性

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

有一些活动对象(用绳子一个单独的类属性,如事件类型,描述,时间等。)那就是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参数列表视图。

2

既然你叫你的ListView EventListView,你可以做到以下几点:

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

至少,这是我做的方式。