3

ListViewを備えたWindows8アプリケーションがあります。

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

ListViewのソースであるいくつかのEventオブジェクト(EventType、Description、Timeなどの文字列属性を持つ別個のクラス)があります。

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

2 に答える 2

4

Eventオブジェクトはパラメータに保存されますe

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

senderパラメータはリストビューだと思います。

于 2013-03-07T14:51:52.913 に答える
2

ListView EventListViewに名前を付けたので、次のことができます。

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

少なくとも、それは私のやり方です。

于 2013-03-07T14:59:25.857 に答える