公司项目用的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. 解决Eclipse引用项目后乱码问题

    1.将General-Workspace-Text file encoding 设置成UTF-82.导入项目,如果文件乱码,点文件右键Properties-Resource-Text file enc ...

  2. github与eclipse创建仓库及克隆仓库

    1.前往github官网注册账号,并下载客户端: 2.为eclipse工程创建本地仓库: 1,目前大多eclipse都预装了egit插件,如果没有请自行安装 2,在eclipse内创建工程->右 ...

  3. 内部类--毕向东Java基础教程学习笔记

    内部类的访问规则 1. 内部类可以直接访问外部类的成员,包括私有. 之所以可以直接访问外部类的成员,是因为内部类中持有外部类的引用,格式:外部类名.this 2.外部类要访问内部类,必须建立内部类对象 ...

  4. Android Design Support Library——Floating Action Button

    Floating Action Button是一种悬浮操作的圆形按钮,继承自ImageView,可以通过android:src或者ImageView的任意方法,来设置FloatingActionBut ...

  5. [Eclipse配置] Eclipse代码中显示空白字符(空格,TAB和回车)的方法

    在代码页面点击右键进入 Preferences --> General --> Editors --> Text Editors. 在 Show whitespace charact ...

  6. 读书笔记——Windows环境下32位汇编语言程序设计(2)配置环境

    一直想买本罗云彬的Win32汇编书,现在终于出典藏版了,就买了本,读一读,涨涨姿势. 我把笔记本光驱拆下来添加了个硬盘,现在想装回去发现坏了,所以守着CD盘,代码却用的是第三版的,这真是个悲剧啊. - ...

  7. JavaScript中点号“.”的多义性

    点号「.」在JavaScript中有两种语义 语义1.表示算术中的小数点(浮点数),如 2.5 语义2.取对象属性.方法,如 [].push(2) 这几乎没有任何难理解的地方,但下面这个问题则很有趣. ...

  8. 09_Sum游戏(UVa 10891 Game of Sum)

    问题来源:刘汝佳<算法竞赛入门经典--训练指南> P67 例题28: 问题描述:有一个长度为n的整数序列,两个游戏者A和B轮流取数,A先取,每次可以从左端或者右端取一个或多个数,但不能两端 ...

  9. Linux搭建DNS服务器

    Linux系统信息: Version: Centos 6.6 Ip address:10.0.0.104 Hostname: extmail.com 配置系统 hostname Vim /etc/sy ...

  10. Hive Word count

    --https://github.com/slimandslam/pig-hive-wordcount/blob/master/wordcount.hql DROP TABLE myinput; DR ...