私は、ゲームのWPFのMeasure and Arrangeレイアウトシステムに大きく影響を受けたGUIシステムを実装しました。 DockPanelsとStackPanelsではうまく動作しますが、最近WrapPanelsを使用する必要がありました。私は、現在の状態では、私のGUIシステムはラッピングをサポートできないことを発見しました。なぜなら、先祖に基づいて最大の利用可能なサイズを知る必要があり、現在その情報なしで測定が行われているからです。WPFのメジャーサイズの制約はどのように機能しますか?
私はWPFのドキュメントをチェックし、そのMeasure
メソッドがサイズ制約をパラメータとして取ります:Size Measure(Size availableSize)
を見つけました。これは私を困惑させる。私の理解から、WPFは最初に葉から根まで測定し、次に根から葉までの測定を行います。しかし、この場合、測定フェーズでは祖先から利用可能なサイズが必要です。これは祖先のサイズが子孫のサイズに依存するため、私には矛盾しているようです。
WPFはどのようにして測定パスにavailableSize
の値を提供しますか?
これは意味があります:) – Trillian