グリッドの行にいくつかのコントロールを含むグリッドがあります。グリッドの各行の高さがXAMLで「*」になるようにRowDefinitionsを設定しているので、すべてのコントロールで同じ量のスペースを使用できます。
ユーザーが一部のコントロールを無効/有効にできる構成画面があります。コントロールが無効になっている場合は、[表示]を[折りたたみ]に変更し、グリッド内の行の高さをゼロに設定します。これは、アプリケーションの起動時に最適です。
問題は、アプリケーションの実行中にユーザーが設定画面に移動してコントロール(以前は非表示になっていた)を再度有効にした場合、コントロールのグリッド列を正しいサイズに戻す方法がわからないことです。新しい(増加した)行数の間で、使用可能なすべての高さを再配分します。
C#コードですべての高さを「*」に戻し、WPFに再配布を行わせる方法はありますか?
そうでない場合は、自分で計算して行の高さを手動で設定するか、アプリケーション全体を再起動する以外に、他のアイデアはありますか?
次のように星の値を設定できます。
rowDef.Height = new GridLength(1, GridUnitType.Star);
参照:http://msdn.microsoft.com/en-us/library/system.windows.gridunittype.aspx
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加