为ListView实现双击事件

时间:2017-11-07 12:07:28

标签: c# wpf listview

我见过很多关于如何为每个ListView项添加双击事件的示例,但我无法弄清楚如何将其实现到我的代码中。到目前为止,我发现的最好的例子是MS文档中的this一个,但它仍然无法帮助我处理这个问题:

public void GetGridTasks(ref ListView listViewItem)
        {
            SqlCommand sqlCommandRefresh = new SqlCommand("", dataconnection);

            sqlCommandRefresh.CommandText = "SELECT TaskID, TaskTitle, TaskDeadline, TaskGroup, TaskContact, TaskWorkers FROM Tasks";

            SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlCommandRefresh);
            DataTable dt = new DataTable("Tasks");
            sqlAdapter.Fill(dt);

            foreach (DataRow dr in dt.Rows)
            {
                dr["TaskWorkers"] = dr["TaskWorkers"].ToString().Replace("||", ", ");
            }

            listViewItem.ItemsSource = dt.DefaultView;
        }

我有一个帮助器类,它在load事件上设置值 - >

NUL

这基本上是ListView里面的GridView里面的TextBlocks。无法真正解决这个问题。

1 个答案:

答案 0 :(得分:1)

只需使用ListView中的MouseDoubleClick事件。

示例:

<ListView MouseDoubleClick="ListView_MouseDoubleClick">
//Items here
</ListView>

在您的代码中,您只需为该

添加一个事件处理程序
void ListView_MouseDoubleClick(object sender, MouseButtonEventArgs e){
    var item = ((FrameworkElement) e.OriginalSource).DataContext
    var myItem = item as *CastToWhateverTypeYouNeed*
    if (item != null){
        //Here you have your item
    }
}