2017-03-13 14 views
2

私は、列幅が「自動」に設定されたデータグリッドを持っています。データグリッドがロードされるとき、列は正しいサイズです。しかし、ウィンドウの幅をデータグリッドよりも小さいサイズに変更すると、データグリッド内のすべてを試してフィットさせるために列のサイズが変更されます。ウィンドウサイズをフルサイズに戻すと、すべてのデータグリッド列のサイズはコンテンツのサイズになりませんが、幅が「*」に設定されている場合と同じ幅に設定されます。WPFはウィンドウのサイズ変更でデータグリッドの自動サイズ変更を防止します

これを防ぐ方法はありますか? CanUserResizeColumns = "False"を試して、列の幅をハードコード値に設定しました。

私もmaterialdesigninxamlを使用していますが、これが原因であるかどうかは不明ですか?

答えて

2

これは本当にWPFで動作する方法です。必要なサイズを事前に知っている場合は、それに応じて指定する必要があります。したがって、width="Auto"の代わりにwidth="123"を指定します。

はこのような相対的なサイズを維持しようとすることができ

あなた

width="2*" .... width="*" ... width="10*" 

これは、その列1を確保するには、二倍の大きさである列2列3列2これの10倍の幅であります、さらにminWidthmaxWidthのいずれかになります。幸運

+0

MinWidthが最適です。あまりにも悪いことに、今私はMinWidthをすべての列に設定する必要があります(ほとんど100を持っています)。 –

+0

@DavidLee希望の 'minWidth'がすべての列で同じである場合のために、' Style'を代わりに使うことができるかもしれません。 – bc004346

+0

情報をありがとう。私はStylesも使っていきます。 –

1

「*」の幅の列定義があることを確認してください。

関連する問題