Tento článek byl přeložený strojově. Pokud chcete zobrazit článek v angličtině, zaškrtněte políčko Angličtina. Anglickou verzi článku můžete také zobrazit v místním okně přesunutím ukazatele myši nad text.
Překlad
Angličtina

Metoda FrameworkElement.MeasureOverride (Size)

.NET Framework (current version)
 

Při přepsání v odvozené třídě, měří velikost v rozložení požadované pro podřízené prvky a určuje velikost pro FrameworkElement– odvozené třídy.

Obor názvů:   System.Windows
Sestavení:  PresentationFramework (v PresentationFramework.dll)

protected virtual Size MeasureOverride(
	Size availableSize
)

Parametry

availableSize
Type: System.Windows.Size

Dostupná velikost, která tento element může poskytnout k podřízené prvky. Infinity lze zadat jako hodnotu označující, že element bude velikost libovolné obsah je k dispozici.

Návratová hodnota

Type: System.Windows.Size

Tento element určuje jeho velikost musí při rozložení na základě jeho výpočtů podřízený element velikostí.

Přepsat MeasureOverride k implementaci chování velikosti vlastní rozložení pro prvek, jako je součástí Windows Presentation Foundation (WPF) systém rozložení. V implementaci, proveďte následující kroky:

  1. Iterujte daného prvku konkrétní kolekci podřízených prvků, které jsou součástí rozložení, volání Measure na každý podřízený element.

  2. Získejte okamžitě DesiredSize na podřízených (Tato hodnota je nastavena jako vlastnost po Measure se nazývá).

  3. Výpočetní net požadované velikosti nadřazeného objektu, na základě měření z podřízených prvků.

Vrácená hodnota MeasureOverride by měla být velikost elementu vlastní potřeby, která se pak stane měr vstup pro nadřazený element aktuálního elementu. Tento stejný proces pokračuje přes systém rozložení, dokud nebude dosaženo kořenový element stránky.

Během tohoto procesu může vrátit podřízené prvky větší DesiredSize než počáteční velikost availableSize k označení, že podřízený element chce více místa. To může být zpracována v vlastní implementaci představení posuvný oblast změnou velikosti nadřazeného ovládacího prvku vytvořením nějakým způsobem skládaný pořadí nebo libovolný počet řešení pro měření nebo uspořádání obsahu.

System_CAPS_importantDůležité

Prvky by měly volat Measure na jednotlivých podřízených během tohoto procesu, v opačném případě podřízené prvky nebudou správně velikost nebo uspořádány.

Poznámky pro dědice:

Následující-kompilování kód ukazuje tento vzor implementace. VisualChildren představuje podle vlastnosti vyčíslitelné kolekce podřízené položky, které by měl definovat vlastní element. Vlastnost lze libovolně pojmenovat. VisualChildren je název zástupný symbol pro účely tohoto příkladu VisualChildren není rozhraní API podle WPF nebo jeho část vzoru pro pojmenovávání...

protected override Size MeasureOverride(Size availableSize)
{
    Size desiredSize = new Size();
    foreach (UIElement child in VisualChildren)
    {
        child.Measure(availableSize);
        // do something with child.DesiredSize, either sum them directly or apply whatever logic your element has for reinterpreting the child sizes
        // if greater than availableSize, must decide what to do and which size to return
    }
    // desiredSize = ... computed sum of children's DesiredSize ...;
    // IMPORTANT: do not allow PositiveInfinity to be returned, that will raise an exception in the caller!
    // PositiveInfinity might be an availableSize input; this means that the parent does not care about sizing
    return desiredSize;
}

.NET Framework
K dispozici od 3.0
Silverlight
K dispozici od 2.0
Windows Phone Silverlight
K dispozici od 7.0
Zpět na začátek
Zobrazit: