公司项目用的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. Android 去掉标题和状态栏 达到全屏显示

    1,正常显示的标题和状态栏的截图. 2,具体代码 @Override protected void onCreate(Bundle savedInstanceState) { super.onCrea ...

  2. Bit-Coin收入的一分钱

    好吧,这是我在Slush's pool上对Bit-coin收入的第一分钱. 回想起来,2013年平安夜开始到今天,将近3个月没日没夜窝在这个矿里挖矿 从最开始的集成显卡挖,买了显卡挖,加了显卡挖,使用 ...

  3. SeismicPro地震剖面显示程序

    SeismicPro是一个地震剖面显示软件,可从标准SEGY地震数据体中抽取纵测线和横测线的二维剖面,并以波形.变面积和变密度等多种方式进行专业化显示,可进行一键式显示方式切换,并可进行定制开发叠加井 ...

  4. 推荐几个优秀的java爬虫项目

    java爬虫项目   大型的: Nutch apache/nutch · GitHub 适合做搜索引擎,分布式爬虫是其中一个功能. Heritrix internetarchive/heritrix3 ...

  5. 安卓开发-问题集-Description Resource Path Location TypeUnparsed aapt error(s)! Check the console for output.

    今天在安卓项目中 res-drawable-hdpi 替换图片的时候出现这个问题 问题现象为项目显示一个叉号,但是在项目内容的任何文件都不显示叉号, 搞了半天没发现是什么问题,然后就去项目的文件夹下 ...

  6. python+Eclipse+pydev环境搭建(转)

    编辑器:Python 自带的 IDLE 简单快捷, 学习Python或者编写小型软件的时候.非常有用. 编辑器: Eclipse + pydev插件 1. Eclipse是写JAVA的IDE, 这样就 ...

  7. object-c中的类目,延展,协议

    协议 协议只有方法的声明(类似于其他编程语言的接口)   协议相当于大家都所遵循的 关键字 @protocol 协议名 <所遵循的协议> 默认NSObject   @end     @pr ...

  8. Java 实现多线程的三种方式

    import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; public class Main { pu ...

  9. 我体验过的可以用的XCode插件

    XCode版本:7.0.1 其实插件的使用,如果能得到直接的xclugin后缀文件,是可以直接放置在隐藏文件夹中: /Users/HeYang/Library/Application Support/ ...

  10. 设置IE兼容模式的几种方法

    一.指定文件兼容性模式要为你的网页指定文件模式,需要在你的网页中使用meta元素放入x-ua-compatible http-equiv 标头.1. 强制ie8使用ie8模式来解析,而且那个兼容性视图 ...