質問: DataGridのColumnWidthプロパティに列幅をバインドするのは、最初にのみ機能します 私はこのようなDataGridを定義しています ``` ``` 重要な部分はColumnWidthへのバインディングです。コードの別の部分では、DependencyProperty "ItemWidth"を変更します。デバッグの目的のために、私はColumnWidthConverterのConvertメソッドに次のコードを書きました: ``` Console.Out.WriteLine("Convert, ItemWidth:" + itemWidth); ``` 今アプリケーションを起動すると、Convertメソッドは最初から呼び出されますが、コードの他の部分からDPを変更すると、もはや変換されません。さらに、最初の幅はDataGridから取得されませんが、autoまたは何かに正しく設定されています(幅は最長のエントリとまったく同じです)。 私もUpdateSourceTriggerで作業しようとしましたが、私は解決策を見つけ出しませんでした。 その理由は何ですか?これをどのように修正できますか?
回答: 私はコード内で同じことをやろうとしましたが、それは動作しませんでした(DataGridのColumnWidthプロパティで)。しかし、コードの後ろにある各セルの幅を変更すると、機能します。 私はこれを好きです: ``` foreach (DataGridColumn dgc in DataTable.Columns) { dgc.Width = //The DependencyProperty } ```