2009-11-17 66 views
0

我有一个SL DataGrid有两列。我需要能够捕捉到任何行的更改并将其保存到撤消堆栈中。我设置了事件RowEditEnded并尝试添加到撤消堆栈。我遇到的问题是我无法从RowEditEnded获取新值。如果该列是ComboBox,那么它将在RowEditEnded抛出之前更新绑定源,但如果我只有一个TextBox,则在数据源更新之前抛出RowEditEnded。Silverlight Datagrid RowEditEnded

有谁知道在RowEditEnded之前强制更新DataBinding源以允许我在列是带有文本框的模板列时访问新值的方法吗?

回答

1

您将需要捕获您的类的更改,因为这是更改被存储的位置。 DataGrid编辑模式是数据网格的状态,而不是数据网格后面的值。

+0

我最终这样做了。我发现它不是很干净,并且不太喜欢它的工作方式,但由于我无法在RowEditEnded中正确获取数据,因此这是最佳解决方案。 – Stephan 2009-11-20 15:44:26

+1

我个人认为这可能是一个更清洁的解决方案。 UI应该跟踪对数据的更改,View Model或Model应该这样做。 – Bryant 2009-11-20 18:42:13