2010年2月にリリースされたWPFツールキット(.net Framework 3.5)のDataGridコントロールを使用しており、テーブルのセルにテキストラップを設定した後、最後の行の後にDataGridが多くの空き領域で表示されていることに気付きました。
空き領域の量は行数に比例しているようです(ただし、常にそうであるとは限りません)。
行の1つを手動で削除すると、DataGridが正しく表示され、空き領域が削除されます。ただし、ロード時にコードビハインドの行を削除しても効果はなく、空き領域は引き続き表示されます。私の推測では、このトリックはDataGridがレンダリングされた後にのみ機能します。セルの内容を編集しても、サイズ変更はトリガーされません。
ノート:
DataGridにMaxHeightを設定しようとしましたが、テキストが折り返されているため、うまく機能しません。
DataGridのメソッドを上書きしました
Size MeasureOverride(Size availableSize)
が、メソッドが複数回呼び出され、最初はサイズが適切であり、さらに1〜2回呼び出すとサイズが大きくなることに気付きました。またavailableSize
、無限の高さを持っています。
DataGridの高さを修正する方法はありますか?
編集:
問題を紹介するために小さなデモを作成しました。プロジェクトには、WPFToolkitへの参照が必要です。
1番目と2番目のDataGridに注目してください。