2011-02-09 19 views
0

OnPropertyChanged eventObservableCollectionのカスタムデータコンテナクラスを作成し、WPFのDataGridにバインドしました。 問題は、プログラムが開始するたびに、DataGridは自動的に一番下に新しい行を作成します。この新しい行はObservableCollectionには存在しません。したがって、ObservableCollectionで新しい項目をプログラムで追加すると、新しい行のデータが消去されるため、編集は役に立たなくなります。WPF:カスタムクラスにバインドするDatagridの新しい行

新しい行を無効にするにはどうしたらいいですか?ユーザーが新しい行で編集を開始すると、ObservableCollectionが更新されます(SQL Server Management Studioのように)。

nb:WPFで「正しい」カスタムクラスの例を教えていただけたら、私はまだWPFです。コメントから

+2

無効にする場合は、新しい行を追加してから、 'CanUserAddRows =" False "を' DataGrid'に設定してください。空の行である 'NewItemPlaceHolder'はコミット時に' ObservableCollection'に挿入されます –

+1

あなたのコメントをありがとう。私はあなたの言うことをし、それは動作します。残念ながら私は答えとしてあなたのコメントをマークすることはできません。 –

+0

@Meleak答えとしてコメントを投稿してください。私はコミュニティーのwikiとして最初に考えましたが、私はあなたを作者として抱き、コミュニティの回答を削除したいと考えています。 –

答えて

0

Meleakの答え:

あなただけのユーザーが、その後DataGridCanUserAddRows="False"を設定する新しい行を追加することができることを無効にしたい場合。空の行であるNewItemPlaceHolderは、コミット時にObservableCollectionに挿入されます。

関連する問題