近日在Silverlight 5中用到了要在Datagrid鼠标双击事件 ,本来很多学习资料 但是由于用的是MVVM模式。所以一开始一头雾水,后来用了比较简便的方式予以实现,仅供参考,也请各位大侠指点。
具体代码见下:
<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"
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)
{
if (Now.Subtract(_clickTs).TotalMilliseconds <= 200)//此处的时间都是毫秒哦
{
}
else
{
_clickTs = Now;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。