UIElement.DesiredSize Özellik

Tanım

Düzen işleminin ölçü geçişi sırasında bu öğenin hesaplanmış boyutunu alır.

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

Özellik Değeri

Size

Hesaplanan boyut, düzenleme geçişi için istenen boyut olur.

Örnekler

Aşağıdaki örnekte uygulamanın bir MeasureOverride parçası olarak gösterilmektedirDesiredSize. edinmeden DesiredSizehemen önce nasıl Measure çağrıldığını görebilirsiniz. Bu, meşru bir değere sahip olduğunu DesiredSize garanti eder.

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

Açıklamalar

Bu özellik tarafından döndürülen değer yalnızca özelliğinin IsMeasureValid değeri ise geçerli bir ölçü olacaktır true.

DesiredSizegenellikle , MeasureOverrideveya OnRender gibi düzen davranışı geçersiz kılmaları uyguladığınızda ölçüm faktörlerinden biri olarak ArrangeOverridedenetlenebilir (OnRenderbu durumda, bunun yerine denetleyebilirsinizRenderSize, ancak bu uygulamanıza bağlıdır). Senaryoya bağlı olarak, DesiredSize uygulama mantığınıza tam olarak uyulabilir, üzerindeki DesiredSize kısıtlamalar uygulanabilir ve bu tür kısıtlamalar üst öğenin veya alt öğenin diğer özelliklerini de değiştirebilir. Örneğin, kaydırılabilir bölgeleri destekleyen (ancak kaydırılabilir bölgeleri zaten etkinleştiren WPF çerçeve düzeyi denetimlerinden türetilmeyi seçen) bir denetim kullanılabilir boyutu ile DesiredSizekarşılaştırabilir. Denetim daha sonra bu denetim için kullanıcı arabiriminde kaydırma çubuklarını etkinleştiren bir iç durum ayarlayabilir. Alternatif olarak, DesiredSize belirli senaryolarda da yoksayılabilir.

Şunlara uygulanır

Ayrıca bkz.