私が持っている場合はフリーズフリーズすることなくDataGrid.ItemsSourceを更新するにはどうすればよいですか?
なしDataGrid.ItemsSourceを更新しよう:
私はプログラムでこのデータを表示するには、データベース(SQLiteの)から取得し、私は
を書くpublic static DataTable DataTableAccounts { get; set; }
DataGridAccounts.ItemsSource = DataTableAccounts.DefaultView;
DataTableAccountsのデータを変更した後、データを更新します。グリッド
DataGridAccounts.ItemsSource = null;
DataGridAccounts.ItemsSource = DataTableAccounts.DefaultView;
しかしDataTableAccounts内のデータはとても速く変化しているので、私は、1秒毎ことを行います。 そして、このアップデートのために私はフリーズウィンドウのプログラムを取得します。
質問: フリーズすることなくDataGridAccounts.ItemsSourceを更新する方法はありますか?
p.s.私は(async \ aswait)... ItemsSource = {Binding}をXAMLコードで使用しようとしています。何も私を助けなかった。
WPFでバインディングを使用している場合は、グリッドが更新されたときに手動でUIを更新する必要はありません。それは拘束力によって注意を払われるだろう。列バインディングを設定しましたか? – NoSaidTheCompiler
@ NoSaidTheCompiler、mbちょうどコードからUIを更新できますか?はい、私は列のバインディングを設定します – skvoshiz
私がアプローチで見る1つの問題は、アイテムのソース全体を設定することです。もしそれが1000sの行であれば、レンダリング中にperfヒットを取るでしょう。 Bindingを使用すると、変更されたプロパティのみが更新され、そのように優れたパフォーマンスが得られる可能性があります。私はそれをテストするためのサンプルコードを書いていませんでした.. – NoSaidTheCompiler