1

ObservableCollection<T>各行 (別名 T のインスタンス) に、コマンドとして T のメソッドにバインドされた参照ボタンと削除ボタンが含まれている場所にバインドされた WPF DataGrid を使用しています。

問題は、CanUserAddRows=trueデータ入力に使用していて、新しい行の削除ボタンを無効にする方法がないことです (T のインスタンスがまだインスタンス化されていないため)

誰かが回避策を知っていますか? new-item 行のオブジェクトを制御する方法はありますか? この時点では、コード ビハインドまたはスルー バインディングは問題ありません。

4

1 に答える 1

2

私の理解が正しければ、新しい行のボタンの IsEnabled プロパティを false に設定する必要があります。

新しい行とは、まだ編集されていない行を意味する場合、最初にそのボタンの IsEnabled プロパティを false に設定し、編集が発生したときに true に変更することをお勧めします。RowEditEndingイベントを処理します。

これが当てはまらず、行がデータグリッドに追加された後にこのプロパティを設定できるようにしたい場合は、データグリッドが監視可能なコレクションにバインドされているため、ObservableCollection.CollectionChanged Eventを処理することをお勧めします。

于 2012-12-21T19:16:45.573 に答える