Прочитать на английском

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


UIElement.DesiredSize Свойство

Определение

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

C#
public System.Windows.Size DesiredSize { get; }

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

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

Примеры

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

C#
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 ;
}

Комментарии

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

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

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

Продукт Версии
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

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