私は単純なことをやろうとしているようですが、これを達成するためにいくつかの本当に奇妙な方法を使っています。DataGrid - すべての列が作成された後のイベントですか?
多くのカスタム生成カラムを持つSilverlight DataGrid
オブジェクトがいくつかあります。これらの列は、AutogenerateColumn
イベントの1つの間に生成されます。すべての列が生成され表示されたら、幅と順序を同期させたい(別のデータを表示するが、非常に似た方法でいくつかの "リンク"されたグリッドを作成する)。
私が直面している問題は? DataGridには、すべてのデータが読み込まれて列が描画された後に発生するイベントはありません。
当分の間、私はLayoutUpdated
イベントを使用しており、列カウントが必要であるかどうかを確認しています。これは動作しますが、これは醜い回避策であると感じることを揺さぶることはできません。
DataGridによってすべての列が作成されるとすぐに、より良い方法がありますか?
[DataGrid.Loaded](http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.loaded(v = vs95).aspx)はどうですか? – Prescott
'DataGrid.Loaded'は、オブジェクトが最初に読み込まれたときにのみ発生します。そうではありませんか?データをリフレッシュまたは変更するときには、イベントを再度呼び出す必要があります(すべてのグリッドを再同期する必要があるため)。 – Shaamaan
ああ、ええと。ドキュメントを読むことから、LayoutUpdatedがあなたの最善の選択肢であるようです。 – Prescott