UIElement.DesiredSize プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
レイアウト処理の測定パスの実行中に、この要素が計算したサイズを取得します。
public:
property System::Windows::Size DesiredSize { System::Windows::Size get(); };
public System.Windows.Size DesiredSize { get; }
member this.DesiredSize : System.Windows.Size
Public ReadOnly Property DesiredSize As Size
プロパティ値
計算されたサイズ。これが、配置パスの目的のサイズになります。
例
次の例は、実装の一部としてをMeasureOverride示していますDesiredSize。 を取得DesiredSizeする直前に、 がどのようにMeasure呼び出されるかに注意してください。 これにより、正当 DesiredSize な価値を保持できます。
virtual Size MeasureOverride(Size availableSize) override
{
Size^ panelDesiredSize = gcnew Size();
// In our example, we just have one child.
// Report that our panel requires just the size of its only child.
for each (UIElement^ child in InternalChildren)
{
child->Measure(availableSize);
panelDesiredSize = child->DesiredSize;
}
return *panelDesiredSize ;
}
protected override Size MeasureOverride(Size availableSize)
{
Size panelDesiredSize = new Size();
// In our example, we just have one child.
// Report that our panel requires just the size of its only child.
foreach (UIElement child in InternalChildren)
{
child.Measure(availableSize);
panelDesiredSize = child.DesiredSize;
}
return panelDesiredSize ;
}
Protected Overrides Function MeasureOverride(ByVal availableSize As System.Windows.Size) As System.Windows.Size
Dim panelDesiredSize As Size = New Size()
' In our example, we just have one child.
' Report that our panel requires just the size of its only child.
For Each child As UIElement In InternalChildren
child.Measure(availableSize)
panelDesiredSize = child.DesiredSize
Next
Return panelDesiredSize
End Function
注釈
このプロパティによって返される値は、 プロパティのIsMeasureValidtrue
値が の場合にのみ有効な測定値になります。
DesiredSizeは通常、 などのArrangeOverrideMeasureOverrideOnRenderレイアウト動作のオーバーライドを実装する場合に、測定要因の 1 つとしてチェックされます (OnRender場合によっては、代わりにチェックRenderSizeすることもできますが、これは実装によって異なります)。 シナリオによっては、 DesiredSize が実装ロジックによって完全に尊重される場合があり、 に DesiredSize 制約が適用される可能性があります。また、そのような制約によって、親要素または子要素の他の特性も変更される可能性があります。 たとえば、スクロール可能な領域をサポートするコントロール (ただし、スクロール可能な領域を既に有効にしている WPF フレームワーク レベルのコントロールから派生しないことを選択) では、使用可能なサイズを と DesiredSize比較できます。 その後、コントロールは、そのコントロールの UI でスクロール バーを有効にする内部状態を設定できます。 または、 DesiredSize 特定のシナリオでも無視される可能性があります。
適用対象
こちらもご覧ください
.NET