silverlight datagrid 模拟单元格双击事件
2011-12-16 15:27
363 查看
最近做一silverlight项目,需要在双击datagrid单元格的时候更具单元格内容弹出新窗口。
查了不少资料发现silverlight很难实现这个效果,于是就用了如下方法来模拟(用户体验和双击一样)。
查了不少资料发现silverlight很难实现这个效果,于是就用了如下方法来模拟(用户体验和双击一样)。
//// 模拟双击事件 private TimeSpan timeSpan = TimeSpan.Zero; private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs e) { e.Row.MouseLeftButtonUp -= new MouseButtonEventHandler(Row_MouseLeftButtonUp); e.Row.MouseLeftButtonUp += new MouseButtonEventHandler(Row_MouseLeftButtonUp); } private void Row_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { if (DateTime.Now.TimeOfDay - timeSpan < new TimeSpan(0, 0, 0, 0, 600)) { timeSpan = new TimeSpan(); //debug int columnIndex = dataGrid1.CurrentColumn.DisplayIndex; int rowIndex = dataGrid1.SelectedIndex; string currentValue = ((TextBlock)dataGrid1.CurrentColumn.GetCellContent(dataGrid1.SelectedItem)).Text; Message.InfoMessage(string.Format("row:{0},column:{1},value:{2}", rowIndex, columnIndex, currentValue)); } timeSpan = DateTime.Now.TimeOfDay; } private void dataGrid1_CurrentCellChanged(object sender, EventArgs e) { if (dataGrid1.SelectedItem != null) { timeSpan = TimeSpan.Zero; //debug textBox1.DataContext = dataGrid1.CurrentColumn.Header.ToString() + ": " + ((TextBlock)dataGrid1.CurrentColumn.GetCellContent(dataGrid1.SelectedItem)).Text; } }
相关文章推荐
- 最简单的silverlight的DataGrid行双击事件添加
- MVVM Silverlight 5 Datagrid MVVM 鼠标双击事件
- silverlight中DataGrid双击事件。
- silverlight中DataGrid列的双击事件
- Silverlight 4以下版本模拟鼠标双击事件
- 【原创】有关Silverlight DataGrid双击事件的分析 完整分析 代码与示例
- 在 winform 中的 datagrid 中实现单元格双击事件
- Silverlight DataGrid鼠标双击事件
- silverlight中DataGrid双击事件。
- easyui-datagrid 单元格增加双击事件
- Silverlight 双击事件模拟
- Silverlight DataGrid 获取 Row 左键双击事件
- Silverlight 模拟双击事件
- 在 winform 中的 datagrid 中实现单元格双击事件
- silverlight datagrid 行双击事件
- Silverlight模拟鼠标双击事件
- ASP.NET DEMO 15: 同时支持行单击和双击事件的 GridView/DataGrid
- Silverlight学习笔记一:DataGrid如何处理鼠标的滚轮事件
- datagrid 的双击事件(转)
- 捕捉DataGrid的双击事件