質問は WPF: when I maximize my window, controls do not resizeには未回答です。コントロールは最大化するとサイズが変更されませんが、ドラッグしてサイズを変更した場合は変更されません - wpf
私はフォームの少なくとも2つの辺に結びついたいくつかのコントロールを持つWPFフォームを持っています。私はフォームのサイズの比率としてコントロールのサイズを変更するsizechangedイベントにコードを追加しました。コードが正常に動作し、コントロールのサイズを正しくドラッグしてフォームのサイズを変更すると、正しくサイズが変更されます。
フォームが最大化されると、コントロールはサイズ変更されず、ウィンドウの上部と下部の両方に取り付けられたコントロールに垂直に保存されます。
私はstatechangedイベントに同様のコードを追加しましたが、これは何もしません。私はストレートTextBox1.Width = 300;
を試しましたが、これは一度最大化されたサイズを変更しません。
私が言いたいことは理想的です。 TextBox1.Width = Window.width/3; TextBox1.Margin = My_Margin;
ここで、My_Marginは、左余白を1/3のWindow.Widthに設定します。テキストボックスがウィンドウの中央3分の1を占めるようにします。
編集:私は、GRIDメソッドがプロジェクトの始めから行く方法だったことを理解しています。フォームを修正する代わりに、C#でこの段階で行うことができる回避策がありますか?
編集:私の唯一の選択肢のように、実際の質問には答えられませんが、最高の答えを受け入れました。 フォームが最大化されたらコントロールのサイズを変更する方法があることは知っていますが、それを見つける時間がなく、良い提案はありませんでした。
"フォームサイズの比率としてコントロールのサイズを変更するsizechangedイベントにコードを追加しました。"これは意味をなさない。 WPFは強力なレイアウトシステムを提供します。ここから読んでください:https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/layout次に、コンテナ要素としてグリッドを使用します。 – Clemens
私はグリッドが最良の方法だと理解しましたが、この問題に対処し、コードでこれを解決してフォームを再作成することなく対処できることを期待していました。これは可能ですか? – Ritchie
私は、その方向への努力を止め、適切なレイアウトを使用することを強くお勧めします。それは時間の無駄です。 – Clemens