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или OnRender (в OnRender данном случае можно проверить RenderSize , но это зависит от реализации). В зависимости от сценария может DesiredSize полностью соблюдаться логикой реализации, могут применяться ограничения DesiredSize , а такие ограничения также могут изменить другие характеристики родительского или дочернего элемента. Например, элемент управления, поддерживающий прокручиваемые области (но не является производным от элементов управления на уровне платформы WPF, которые уже поддерживают прокручиваемые регионы), может сравнить доступный размер с DesiredSize. Затем элемент управления может задать внутреннее состояние, включающее полосы прокрутки в пользовательском интерфейсе для этого элемента управления. Или, возможно, DesiredSize также может быть проигнорировано в определенных сценариях.