MVVM Silverlight 5 Datagrid MVVM 鼠标双击事件

近日在Silverlight 5中用到了要在Datagrid鼠标双击事件 ,本来很多学习资料 但是由于用的是MVVM模式。所以一开始一头雾水,后来用了比较简便的方式予以实现,仅供参考,也请各位大侠指点。

具体代码见下:

1、页面XAML代码

<sdk:DataGridTextColumn Binding="{Binding UpdateDate }"   Header="更新时间" />

            </sdk:DataGrid.Columns>

            //触发器

            <i:Interaction.Triggers>

                <i:EventTrigger EventName="MouseLeftButtonUp" >

                    <cmd:EventToCommand Command="{Binding OpenEditWindowCommand}"

                                        CommandParameter="{Binding SelectedItem,ElementName=dgMembers}" />

                </i:EventTrigger>

            </i:Interaction.Triggers>

        </sdk:DataGrid>

当然要添加引用:

                 xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.SL5"

                 xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

2、ViewModel代码

private DateTime _clickTs;

#region Command定义

        public ICommand OpenEditWindowCommand { get; private set; }

#endregion

public TestViewModel()

{

       _clickTs = DateTime.Now;

      OpenEditWindowCommand = new RelayCommand<object>(OpenEditWindow);

}

private void OpenEditWindow(object obj)

{

            DateTime now = DateTime.Now;

            if (now.Subtract(_clickTs).TotalMilliseconds <= 200)//此处的时间都是毫秒哦

            {

                //此处添加您要实现的功能.

            }

            else

            {

                _clickTs = now;

            }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值