を更新した後、私はそうのようなCollectionViewSource
のStaticResource
を使用してWPFのデータグリッドを持つEntity Frameworkのビュー(SQL Serverなど)に結合している...更新WPFデータグリッドは、基礎となるエンティティ(表)
<Window.Resources>
<CollectionViewSource x:Key="TransmittalsSource" />
...
<DataGrid x:Name="uxTransmittalDataGrid" Grid.Row="2"
ItemsSource="{Binding Source={StaticResource TransmittalsSource}}"
...
背後にあるコード、私はこのようなTransmittalsSource
のソースを割り当てるために、ボタンのクリックイベントを使用しています...
var transmittalsQuery = from t in _db.TransmittalsViews
select t; // I've remove the where clauses (filters) for readability.
((CollectionViewSource)Resources["TransmittalsSource"]).Source =
transmittalsQuery;
TransmittalsViews
は、SQL Serverデータベース内の表示オブジェクトです。データをグリッドに表示する前に、クロス集計操作を行う必要があるため、私はViewを使用しました。
もう1つのウィンドウでは、Transmittals
と呼ばれるTransmittalsViews
の基本テーブルの1つにアイテム(基本的にビュー列の1つを更新)を追加しています。今
_db.Transmittals.AddObject(_transmittal);
、私はデータグリッドのデフォルトのビューを取得し、Refresh()
を呼び出した場合でも、それは働いていません。
私はDataGridのDefaultView
を取得し、 'AddNew`メソッドを使用していますが、ソースが異なっていると考えていますが、これは不可能だと思います。
それで、それが元になった別のエンティティ(テーブル)を更新した後で、Viewオブジェクト(SQL Server)に基づくデータグリッドを強制的にリフレッシュするにはどうすればよいですか?現時点でコーディングがそれほど理想的ではないことを知っていますので、私が使ったテクニックのコメントもありがとうと思います。私はちょうどWPFを学び始めています:)