1

WPF 4.0 DataGrid の追加機能を使用して、Entity Framework エンティティを ObjectContext の EntitySet に自動的に追加するのに問題があります。セットアップは次のとおりです。

DataGrid-->BoundTo-->ListCollectionView-->BoundTo-->EntitySet

DataGrid に行を対話的に追加すると、EntitySet に新しいエンティティが追加されません。ただし、行のセル データを更新すると、実際にはバインドされたエンティティのプロパティが更新されます。

私が間違っている可能性があることは何ですか?

ListCollectionView の XAML は次のとおりです。

<CollectionViewSource x:Key="FieldList"
    Source="{Binding DB.Fields}"
    CollectionViewType="{x:Type data:ListCollectionView}">
    <CollectionViewSource.SortDescriptions>
        <ComponentModel:SortDescription PropertyName="Name" />
    </CollectionViewSource.SortDescriptions>
</CollectionViewSource>
4

1 に答える 1

1

使用している特別な理由はありますListCollectionViewか?どのように作成していますListCollectionViewか?

を呼び出すCollectionViewSource.GetDefaultView( ObjectQuery<> )と、が生成されますBindingListCollectionView。いくつかのテストと呼び出しを実行IEditableCollectionView.AddNew()IEditableCollectionView.CommitNew()、期待どおりにエンティティセットに新しいエンティティを追加しました。

ObjectContextObjectQuery<>プロパティをItemsSourceにバインドするだけDataGridで、デフォルトのコレクションビューが使用され、最終的には期待どおりの動作が得られることをお勧めします。

于 2010-04-23T18:32:19.677 に答える