【原创】有关Silverlight DataGrid双击事件的分析 完整分析 代码与示例
公司项目用的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双击事件的分析 完整分析 代码与示例的更多相关文章
- EasyUI中datagrid双击事件
EasyUI中datagrid双击事件 在jsp文件底部增加代码: <script type="text/javascript"> //数据表双击事件 $('#tabl ...
- Silverlight 鼠标双击 事件
Silverlight 双击事件例子 <UserControl x:Class="MouseDbClick.MainPage" xmlns="http://sche ...
- 【原创】Silverlight DataGrid对核心控件DataGrid的任意单元格进行获取和设置分析。
前几天,公司同事有个需求需要对系统中的DataGrid控件的指定单元格(如图,申请人ID)进行禁用设置,尝试了很多次总是 整行整列的 禁用 没实现效果. 网上资料较少,没找到解决措施. 尽管silve ...
- silverlight DataGrid 显示篇
silverlight DataGrid 显示篇 分类: Silverlight2012-05-12 21:55 693人阅读 评论(0) 收藏 举报 datagridsilverlightbindi ...
- Cesium区分单击【LEFT_CLICK】和双击事件【LEFT_DOUBLE_CLICK】
问题描述 在cesium中,用户鼠标左键双击视图或Entity时,实际触发的是两次click和一次dbclick事件,非常影响代码设计,本文记录了如何区分单击[LEFT_CLICK]和双击事件[LEF ...
- GridView/DataGrid行单击和双击事件实现代码_.Net教程
功能: 单击选中行,双击打开详细页面 说明:单击事件(onclick)使用了 setTimeout 延迟,根据实际需要修改延迟时间 ;当双击时,通过全局变量 dbl_click 来取消单击事件的响应 ...
- silverlight 双击事件
silverlight的一些功能真让我感到惊奇 就拿双击事件来说一下 写一个简单的例子 <StackPanel x:Name="st_De" MouseLeftButtonD ...
- easyui datagrid 自定义单元格单击与双击事件(Day_38)
$(function(){ $('#tableId').datagrid({//单击事件 onClickRow:function(rowIndex,rowData){ alert("单 ...
- EasyUI datagrid 双击行事件
1.EasyUI 实现点击行的任何位置,触发事件 onLoadSuccess:function(data){ } , pagination : false, //双击事件 onDblClickRow: ...
随机推荐
- MySql中时间类型总结
最近建表要用到时间类型的数据,但对时间类型的数据一向不了解,就总结了一下.. 一.日期DATE 一个日期.支持的范围是“1000-01-01”以“9999-12-31”.MySQL显示日期用 “YYY ...
- android Android-PullToRefresh 下拉刷新
1.github下载地址 原作者: https://github.com/chrisbanes/Android-PullToRefresh 我自己的: https://github.com/zyj ...
- Android DiskLruCache 硬盘缓存
概述 记得在很早之前,我有写过一篇文章Android高效加载大图.多图解决方案,有效避免程序OOM,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技 ...
- 一个基于Myeclipse开发的Java打地鼠小游戏(Appletcation)
package javaes.zixue.wangshang.daima; 2 3 import java.awt.Cursor; import java.awt.Image; import java ...
- ios 计算缓存大小
- (void)getSize2 { // 图片缓存 NSUInteger size = [SDImageCache sharedImageCache].getSize; // NSLog(@&qu ...
- Qt安装后配置环境变量(Mac)
打开终端需要打开配置文件(注意这里不是bash_profile而是 .bash_profile,我开始少了".") 如果bash_profile文件不存在,就会自动创建,然后需要输 ...
- animation of android (3)
视图动画,只有view可以使用. 在android3.0以后,属性动画. ValueAnimation 可以记录属性变化的过程,所以他的对象是任何object. 所以ValueAnimation 的真 ...
- 【mysql】统计库、表大小
1. 查看该数据库实例下所有库大小,得到的结果是以MB为单位 mysql> select table_schema,sum(data_length)/1024/1024 as data_leng ...
- 闭包Closures
所谓闭包,可以理解为一个可以用于函数,参数,返回值处的代码块 import Foundation func isGood(a:Int,b:Int)->Bool{ return a>b; } ...
- sudo简单命令语法及配置
参考:http://yangrong.blog.51cto.com/6945369/1289452, https://wiki.archlinux.org/index.php/Sudo_(%E7%AE ...