最初にコンテンツに合わせて自動サイズ変更されるサイズ変更可能なウィンドウを作成したいと思います。ウィンドウのサイズが制限に達すると、自動サイズ変更が無効になり、拡大するコントロールがクリップされるか、スクロールバーで表示されます。ユーザーがウィンドウのサイズを変更するときも、自動サイズ変更をオフにする必要があります。
実際のタスクは、テキストコントロールを備えた便利なサイズ変更可能なダイアログウィンドウを作成することです。テキスト行がほとんど含まれていない場合は、最初にダイアログのサイズを自動化するのが妥当です。テキストの量が増え、ダイアログが大きくなります。確かに、いくつかのサイズの制約が必要です。
PSレイアウトのメジャーパス中のサイジングのガイドの役割が、子から親へ、そしてその逆へと条件付きで切り替わるレイアウトを定義することは、非常に頻繁な作業だと思います。
アイデアや既存のソリューションを共有します。何かが足りないのかもしれません。ありがとうございました。
アップデート1
アルゴリズムについて説明します。
1)ウィンドウが表示されます(すべてのデータ/コンテンツがすでに設定されていると想像してください)。
2)そのサイズは、ウィンドウのプロパティが次のように調整されます。
MaxHeight=..。
MaxWidth=..。
SizeToContent = "WidthAndHeight"
3)ユーザーがウィンドウのサイズを変更しようとしました。そして彼はそれを行うことができます。内部コントロールはそれに応じてサイズを変更します。
この動作は、プロパティセットと同等です。
MaxWidth = "{x:Ststic Double.PositiveInfinity}"
MaxHeight = "{x:Ststic Double.PositiveInfinity}"
SizeToContent="手動"
ResizeMode = "CanResizeWithGrip"