UIElement.DesiredSize Eigenschaft

Definition

Ruft die Größe ab, die dieses Element während des Messdurchgangs im Layoutprozess berechnet hat.Gets the size that this element computed during the measure pass of the layout process.

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

Eigenschaftswert

Die berechnete Größe, die die gewünschte Größe für den Anordnungsdurchgang wird.The computed size, which becomes the desired size for the arrange pass.

Beispiele

Das folgende Beispiel zeigt DesiredSize als Teil einer MeasureOverride-Implementierung.The following example shows DesiredSize as part of a MeasureOverride implementation. Beachten Sie, dass Measure unmittelbar vor dem Erhalt DesiredSizeaufgerufen wird.Notice how Measure is called immediately prior to obtaining DesiredSize. Dadurch wird sichergestellt, dass DesiredSize einen legitimen Wert enthält.This assures that DesiredSize holds a legitimate value.

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

Hinweise

Der von dieser Eigenschaft zurückgegebene Wert ist nur eine gültige Messung, wenn der Wert der IsMeasureValid-Eigenschaft trueist.The value returned by this property will only be a valid measurement if the value of the IsMeasureValid property is true.

DesiredSize wird in der Regel als einer der Mess Faktoren überprüft, wenn Sie layoutverhaltensüberschreibungen implementieren, z. b. ArrangeOverride, MeasureOverrideoder OnRender (im OnRender Fall können Sie stattdessen RenderSize prüfen, aber dies hängt von ihrer Implementierung ab).DesiredSize is typically checked as one of the measurement factors when you implement layout behavior overrides such as ArrangeOverride, MeasureOverride, or OnRender (in the OnRender case, you might check RenderSize instead, but this depends on your implementation). Je nach Szenario können DesiredSize von der Implementierungs Logik vollständig beachtet werden, Einschränkungen für DesiredSize können angewendet werden, und solche Einschränkungen können auch andere Eigenschaften des übergeordneten Elements oder des untergeordneten Elements ändern.Depending on the scenario, DesiredSize might be fully respected by your implementation logic, constraints on DesiredSize might be applied, and such constraints might also change other characteristics of either the parent element or child element. Beispielsweise könnte ein Steuerelement, das Bild lauffähigen Bereiche unterstützt (aber nicht von den Steuerelementen auf WPF-Frameworkebene abgeleitet werden soll, die Bild lauffähigen Bereiche bereits aktivieren) die verfüg DesiredSizeBareFor example, a control that supports scrollable regions (but chooses not to derive from the WPF framework-level controls that already enable scrollable regions) could compare available size to DesiredSize. Das Steuerelement kann dann einen internen Zustand festlegen, der Scrollleisten im UIUI für dieses Steuerelement aktiviert hat.The control could then set an internal state that enabled scrollbars in the UIUI for that control. Oder DesiredSize möglicherweise auch in bestimmten Szenarien ignoriert werden.Or, DesiredSize could potentially also be ignored in certain scenarios.

Gilt für:

Siehe auch