C# 如何获取DataGridEditAction.cancel
在这里检查datagrid示例 请参阅datagrid部分 它说,如果两次使用escape,它将触发退出一行的编辑。我总是有一个datagrid,用户可以在其中编辑一行,但现在用户无法取消编辑。如何使用cancel属性使该行退出 我的经纪人C# 如何获取DataGridEditAction.cancel,c#,wpf,silverlight,events,datagrid,C#,Wpf,Silverlight,Events,Datagrid,在这里检查datagrid示例 请参阅datagrid部分 它说,如果两次使用escape,它将触发退出一行的编辑。我总是有一个datagrid,用户可以在其中编辑一行,但现在用户无法取消编辑。如何使用cancel属性使该行退出 我的经纪人 void RoutingPolicyGrid_RowEditEnded(object sender, DataGridRowEditEndedEventArgs e) { if (e.EditAction == DataGri
void RoutingPolicyGrid_RowEditEnded(object sender, DataGridRowEditEndedEventArgs e)
{
if (e.EditAction == DataGridEditAction.Commit)
{
}
else //DatagridEditAction.Cancel
{
}
}
如果我像下面那样手动执行,datagrid仍然会触发RowEditEnded和commit操作,这意味着它会用下面的代码执行两次
private void RoutingPolicyGrid_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.Escape)
this.RoutingPolicyGrid_RowEditEnded(sender, new DataGridRowEditEndedEventArgs(null, DataGridEditAction.Cancel));
}
通过查看以下链接。必须实现IEditable接口才能还原行的版本并触发取消操作
datagrid为您实现了处理程序,因此我不清楚您想做什么?我正在尝试使用内置机制优雅地退出Datagridrow版本。抱歉,仍然不清楚。如果按esc两次取消编辑,您想优雅地处理什么?我试图通过触发DatagridEditAction.Cancel来离开datagrid的行编辑模式。无论我做什么,我总是以DatagridEditAction.Commit结束。我优雅地处理它的意思是,我希望能够使用内置功能,而不必在用户输入escape键时手动捕捉。谢谢你的回复,希望我能让你更清楚一点。