公司项目用的silverlight,而且silverlight一些技术 资料比较少。所以分享出来 给大家参考参考。

有关Silverlight中DataGrid 双击事件 的代码 如下:

1. 前台xaml文件,需要对datagrid的属性上加上 事件绑定

“MouseLeftButtonUp="dataGrid_MouseLeftButtonUp” 
 <sdk:DataGrid Grid.Row="1" Name="dataGrid1" AutoGenerateColumns="False" IsReadOnly="True" ColumnWidth="*" ItemsSource="{Binding SearchResult}"
MouseLeftButtonUp="dataGrid_MouseLeftButtonUp"
CopyingRowClipboardContent="dataGrid1_CopyingRowClipboardContent">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="咨询编号" Binding="{Binding Code}"/>
</sdk:DataGrid.Columns>
</sdk:DataGrid>

2.后台xaml.cs文件,需要 预先定义 几个变量,用于记录 前后单击时间 等。

  DateTime lastClickTime = DateTime.Now;
object lastClickItem;
public delegate void DataItemEventHandler(object sender, DataItemDoubleClickArgs fe);
public event DataItemEventHandler DataItemDoubleClick;

3.后台xaml.cs文件,书写 对应事件。

 /// <summary>
/// 模拟鼠标双击DataGridItem效果
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void dataGrid_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
var eventSource = e.OriginalSource;
var now = DateTime.Now;
var ts = now.Subtract(lastClickTime);
var diff = ts.TotalMilliseconds;
lastClickTime = now;
//若两次双击时差小于250ms且点击的是同一项目则激发事件
var nowClickItem = dataGrid1.SelectedItem;
if (diff < && lastClickItem == nowClickItem)
{
//抛出datagrid双击事件
OnDataItemDoubleClick(nowClickItem,
new DataItemDoubleClickArgs(eventSource));
}
lastClickItem = nowClickItem;
}
//模拟双击
protected virtual void OnDataItemDoubleClick(object sender, DataItemDoubleClickArgs e)
{
if (DataItemDoubleClick != null)
DataItemDoubleClick(sender, e);
}

4.完毕,调试出效果就ok了。

【原创】有关Silverlight DataGrid双击事件的分析 完整分析 代码与示例的更多相关文章

  1. EasyUI中datagrid双击事件

    EasyUI中datagrid双击事件 在jsp文件底部增加代码: <script type="text/javascript"> //数据表双击事件 $('#tabl ...

  2. Silverlight 鼠标双击 事件

    Silverlight 双击事件例子 <UserControl x:Class="MouseDbClick.MainPage" xmlns="http://sche ...

  3. 【原创】Silverlight DataGrid对核心控件DataGrid的任意单元格进行获取和设置分析。

    前几天,公司同事有个需求需要对系统中的DataGrid控件的指定单元格(如图,申请人ID)进行禁用设置,尝试了很多次总是 整行整列的 禁用 没实现效果. 网上资料较少,没找到解决措施. 尽管silve ...

  4. silverlight DataGrid 显示篇

    silverlight DataGrid 显示篇 分类: Silverlight2012-05-12 21:55 693人阅读 评论(0) 收藏 举报 datagridsilverlightbindi ...

  5. Cesium区分单击【LEFT_CLICK】和双击事件【LEFT_DOUBLE_CLICK】

    问题描述 在cesium中,用户鼠标左键双击视图或Entity时,实际触发的是两次click和一次dbclick事件,非常影响代码设计,本文记录了如何区分单击[LEFT_CLICK]和双击事件[LEF ...

  6. GridView/DataGrid行单击和双击事件实现代码_.Net教程

    功能: 单击选中行,双击打开详细页面 说明:单击事件(onclick)使用了 setTimeout 延迟,根据实际需要修改延迟时间 ;当双击时,通过全局变量 dbl_click 来取消单击事件的响应  ...

  7. silverlight 双击事件

    silverlight的一些功能真让我感到惊奇 就拿双击事件来说一下 写一个简单的例子 <StackPanel x:Name="st_De" MouseLeftButtonD ...

  8. easyui datagrid 自定义单元格单击与双击事件(Day_38)

    $(function(){ $('#tableId').datagrid({//单击事件   onClickRow:function(rowIndex,rowData){  alert("单 ...

  9. EasyUI datagrid 双击行事件

    1.EasyUI 实现点击行的任何位置,触发事件 onLoadSuccess:function(data){ } , pagination : false, //双击事件 onDblClickRow: ...

随机推荐

  1. Atitit.为什么小公司也要做高大上开源项目

    Atitit.为什么小公司也要做高大上开源项目 1. 为什么手头有很多加急的事情还要做高大上开源项目??1 2. 从长远看,发展 高大上开源项目计划对于解决我们在应急项目正面临着的种种严峻问题也大有裨 ...

  2. 【读书笔记】iOS-查看一个软件ipa包的内容

    一,打开itunes----->我的iPhone应用程序. 二,右键点击app---->在Finder中显示---->出现下图所示界面. 三,将上图中的ipa包拷贝到桌面,如下图所示 ...

  3. iOS多线程邂逅

    .线程之间的通信 //有一个特别耗时的操作,比如说网络请求,开启子线程去请求网络,我们一般是要在主线程更新UI,如何从子线程跳转到主线程? #import "ViewController.h ...

  4. MYSQL性能调优: 对聚簇索引和非聚簇索引的认识

    聚簇索引是对磁盘上实际数据重新组织以按指定的一个或多个列的值排序的算法.特点是存储数据的顺序和索引顺序一致.一般情况下主键会默认创建聚簇索引,且一张表只允许存在一个聚簇索引. 在<数据库原理&g ...

  5. MyCat 学习笔记 第十一篇.数据分片 之 分片数据查询 ( select * from table_name limit 100000,100 )

    1 环境说明 VM 模拟3台MYSQL 5.6 服务器 VM1 192.168.31.187:3307 VM2 192.168.31.212:3307 VM3 192.168.31.150:  330 ...

  6. MyCat 学习笔记 第八篇.数据分片 之 求摸运算分片

    1 应用场景 Mycat 自带了多套数据分片的机制,其实根据数值取摸应该是最简单的一种. 优点:数据离散概率较为平均,可以有效的提高应用的数据吞吐. 缺点:比较明显,后期数据运维与迁移比较困难.好在M ...

  7. oracle缓存池使用解析

    oracle有三种类型的缓存池,分别是default,keep和recycle.默认情况下只会使用default缓存池,另外两种需要额外配置. keep缓存池相当于是一直很热的default缓存池,缓 ...

  8. JS高级程序设计2nd部分知识要点2

    ECMAScript中所有函数的参数都是按值传递的. 5种基本数据类型: Undfined,Null,Boolean,Number,String. 当代码在一个环境中执行时,会创建变量对象的一个作用域 ...

  9. 在ubuntu14.04上配置cuda_caffe_cudnn_anaconda_digits

    参考网上的很多网站,以这篇为主:http://blog.csdn.net/yhl_leo/article/details/50961542 这篇算是自己对caffe学习的一个总结系列的开头.首先因为c ...

  10. [转载]UEditor报错TypeError: me.body is undefined

    本文转载来自:UEditor报错TypeError: me.body is undefined 今天在使用UEditor的setContent的时候报错,报错代码如下 TypeError: me.bo ...