&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というビヘイビアーを定義する回避策が紹介されている。


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS