zoukankan      html  css  js  c++  java
  • 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;

                }

    }

  • 相关阅读:
    CSUST--3.14排位周赛第四场 (全解)
    CSUST--3.7排位周赛第三场 (全解)
    android 代码功能测试junit test
    Sqlite数据库创建、删除、降级笔记
    三种进程和线程数据共享模块方法Queue》Pipe》manager
    多线程实例
    信号量
    红绿灯模型
    linshiwendang12--匈牙利
    spring--注入类型--构造方法(不常用)
  • 原文地址:https://www.cnblogs.com/swarb/p/9924363.html
Copyright © 2011-2022 走看看