UIElement
複数の子( s)を含むことができるコントロール(グリッドのように見えます)を作成しました。レイアウト全体をコードで測定して配置します。現在、これらの要素のいくつかはxamlで幅を定義していますが、それを持たないものもあります。
エレメントの幅が固定されているか、または使用可能な幅全体を使用する必要があるかどうかを、measureOverride / Arrangeoverrideでどのように知ることができますか?
XAMLの例:
<MyControl>
<TextBox x:Name="TextA" Text="TextFixed" Width="10"/>
<TextBox x:Name="TextB" Text="TextStretch"/>
</MyControl>
uielement.Measure()の後のMeasureOverrideメソッド内では、サイズはその要素に必要な最小サイズです。「TextB」の利用可能な幅をいつ計算する必要があるかを確認する方法がわかりません...
アップデート:
MeasureOverride()では、両方の要素にHorizontalAlignment'Stretch'があり、uiElement.Measure(availableSize)の後には両方ともDesiredSize.Widthがあります。その幅は、必要な最小幅です。この情報では、2つの要素のどちらを伸ばす必要があるかを知ることができません。