silverlight datagrid 行双击事件

/*

网上找的例子当双击不为同一行也会执行双击事件。综合了一下,先用这个用着,因为MenuDataGrid_LoadingRow里还有其他自动编号,统计的代码,故MenuDataGrid_LoadingRow会执行多次

缺点   e.Row.MouseLeftButtonUp -= Row_MouseLeftButtonUp;  e.Row.MouseLeftButtonUp += Row_MouseLeftButtonUp;  会执行多次

*/


        private bool m_bFirstTime = true;


        void MenuDataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
        { 
            e.Row.MouseLeftButtonUp -= Row_MouseLeftButtonUp;
            e.Row.MouseLeftButtonUp += Row_MouseLeftButtonUp;
        }

        private void MenuDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (MenuDataGrid.SelectedIndex == -1)
            {
                m_bFirstTime = true;
            }
            else
            {
                m_bFirstTime = false;
            }
        }

        private void Row_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            m_bFirstTime = !m_bFirstTime;
            TimeSpan t = DateTime.Now.TimeOfDay;
            if (this.MenuDataGrid.Tag != null)
            {
                TimeSpan oldT = (TimeSpan)this.MenuDataGrid.Tag;
                if ((t != oldT && (t - oldT) < TimeSpan.FromMilliseconds(300)) && !m_bFirstTime)
                {
                    DoubleClick();
                }
            }
            this.MenuDataGrid.Tag = t;
        }


        private void DoubleClick()
        {

            //双击操作,获取SelectItem进行操作
        }

转载于:https://www.cnblogs.com/royin1088/archive/2013/01/28/2880035.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值