我见过很多关于如何为每个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。无法真正解决这个问题。
答案 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
}
}