wpf datagrid と IEditableCollectionView にいくつかの問題がありました (ただし、この質問は IEditableCollectionView と ItemsControl の使用に適用されます) 項目のないコレクションがある場合、IEditableCollectionView はどの項目を挿入する必要があるかを判断できないため、ここCanAddNew=false
で解決策を見つけました(コメントの奥深くに埋もれています)それは次のようになります:
このように ObservableCollection から派生する場合
public class PersonsList : ObservableCollection<Person> { }
初期コレクションが空の場合、ビューに NewItemPlaceHolder が表示されないことがわかります。これは、設計時に PersonsList が型 T を解決できないためです。私にとってうまくいく回避策は、次のようにタイプ T をパラメーターとしてクラスに渡すことです
PersonsList<T> : ObservableCollection<T> where T : Person { }
このアプローチは、コレクションが空の場合でも NewItemPlaceHolder を配置します。
AddNew リクエストを取得する必要がある作成するタイプを IEditableCollectionView に通知するコレクションに実装できるインターフェイスがあるかどうか疑問に思っています。