Поделиться через


UIElement.DesiredSize Свойство

Определение

Возвращает размер, вычисленный этим элементом на этапе измерения процесса компоновки.

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

Значение свойства

Вычисляемый размер, который становится требуемым размером для упорядоченного прохода.

Примеры

В следующем примере показано DesiredSize как часть MeasureOverride реализации. Обратите внимание, как Measure вызывается непосредственно перед получением DesiredSize. Это гарантирует, что 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

Комментарии

Значение, возвращаемое этим свойством, будет допустимым измерением, если значение IsMeasureValid свойства равно true.

DesiredSize обычно проверяется как один из факторов измерения при реализации переопределений поведения макета, таких как ArrangeOverride, MeasureOverrideили OnRenderOnRender данном случае можно проверить RenderSize , но это зависит от реализации). В зависимости от сценария может DesiredSize полностью соблюдаться логикой реализации, могут применяться ограничения DesiredSize , а такие ограничения также могут изменить другие характеристики родительского или дочернего элемента. Например, элемент управления, поддерживающий прокручиваемые области (но не является производным от элементов управления на уровне платформы WPF, которые уже поддерживают прокручиваемые регионы), может сравнить доступный размер с DesiredSize. Затем элемент управления может задать внутреннее состояние, включающее полосы прокрутки в пользовательском интерфейсе для этого элемента управления. Или, возможно, DesiredSize также может быть проигнорировано в определенных сценариях.

Применяется к

См. также раздел