&tag(WPF, DataGrid); *目次 [#d41ba80f] #contents *参考情報 [#oa3ed1b7] **関連ページ [#ed88d977] -[[WPF]] -[[./DataGridColumn]] -[[./スタイル]] -[[./編集]] -[[./Validation]] -[[./Tips]] -[[./トラブルシューティング]] **参考リンク [#m9e7e0cd] -[[WPF DataGrid Practical Examples]]…入門記事。 -[[WPF DataGrid – Committing changes cell-by-cell | Colin Eberhardt's Adventures in WPF:http://www.scottlogic.co.uk/blog/colin/2009/01/wpf-datagrid-committing-changes-cell-by-cell/]] -[[Pasting content to new rows on the WPF DataGrid - Vincent Sibal's Blog - Site Home - MSDN Blogs:http://blogs.msdn.com/b/vinsibal/archive/2008/09/25/pasting-content-to-new-rows-on-the-wpf-datagrid.aspx]]…DataGridの新規行追加位置(NewItemPlaceHolder)にペーストするコード。 -[[Nigel Spencer's Blog: WPF DataGrid Tips:http://blog.spencen.com/2009/04/13/wpf-datagrid-tips.aspx]] *トラブルシューティング [#t9a37977] **追加情報: 'DeferRefresh'は、AddNewトランザクションまたはEditItemトランザクションの実行中は許可されません。 [#d2c201d7] ***再現方法 [#ca582bcf] -DataGridでセル編集中に、DataContextが切り替わると発生。 -例えばTabControlの上にDataGridを乗せタブ切り替えにともなってバインドされたデータが切り替わる場合に発生する。 #ref(cell.png) #ref(error.png) ***解決方法 [#z8f2ed33] -[[DataGrid exception on validation failure (DeferRefresh is not allowed...) | Microsoft Connect:https://connect.microsoft.com/VisualStudio/feedback/details/591125/datagrid-exception-on-validation-failure-deferrefresh-is-not-allowed]] -上記リンクの回避策ではViewModelにIEditableObjectを実装し、DataGridに、DataGridRollbackOnUnfocusedBehaviourというビヘイビアーを定義する回避策が紹介されている。