您的位置:首页 > 其它

MVVM Silverlight 5 Datagrid MVVM 鼠标双击事件

2012-11-30 13:21 411 查看
近日在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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: