gpt4 book ai didi

c# - silverlight datagrid celledited

转载 作者:太空宇宙 更新时间:2023-11-03 11:03:19 24 4
gpt4 key购买 nike

在 celledit 结束时我只想在值改变时触发方法

我有一些可编辑的列,我只想在值已经改变时触发该方法

DataGridCellEditEndedEventArgs 属性 e.EditAction 总是返回 committed

最佳答案

您可以收听 DataGrid.PreparingCellForEdit事件(或者可能是 DataGrid.BeginningEdit,但我不是 100% 肯定)并在该点存储单元格的值。

然后不听 DataGrid.CellEditEnded,而是听 DataGrid.CellEditEnding .此事件专门设计用于为您提供取消编辑的选项,因此它不会被视为提交。 DataGridCellEditEndingEventArgs因为它提供了一个 Cancel bool 属性。检查新值是否与旧值相同,如果是,则将 Cancel 属性设置为 true。然后,当 CellEditEnded 事件触发时,它的 EditAction 将为 Cancel

void MyGrid_PreparingCellForEdit(object sender, DataGridPreparingCellForEditEventArgs args)
{
//store current value
}

void MyGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs args)
{
//check if values are the same
if (valuesAreSame)
args.Cancel = true;
}

关于c# - silverlight datagrid celledited,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16883701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com