MySQL 接続を使用してデータベースから DataTable を取得し、データグリッドにロードします。
dataGrid1.DataContext = db.Get_Data();
プログラムの後半で、グリッド内のデータを変更するボタンとイベントがあります。
dataGrid1.DataContext = db.Get_Other_Data();
これはうまくいきます。ただし、DataContext プロパティを変更した後、列のサイズ変更に問題があります。
もし私が行くならば:
dataGrid1.DataContext = db.Get_Other_Data();
dataGrid1.Columns[0] = 15;
例外が発生しました。データがまだグリッドにロードされていないことがわかりました。そのため、バインドされていないインデックスの例外がスローされます。
だから私は次のようなイベントを見てみました:
DataContextChanged - Doesn't wait till data is loaded
Loaded - Only works when the first DataContext is set, not on all
すべての異なる DataContext 初期化で Loaded を再呼び出しするにはどうすればよいですか? それとも他のイベント?