UIElement.Measure(Size) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
DesiredSize Aktualizuje .UIElement Nadřazené elementy volají tuto metodu z vlastních MeasureCore(Size) implementací, aby vytvořily rekurzivní aktualizaci rozložení. Volání této metody představuje první průchod (pass "Measure" pass) aktualizace rozložení.
public:
void Measure(System::Windows::Size availableSize);
public void Measure (System.Windows.Size availableSize);
member this.Measure : System.Windows.Size -> unit
Public Sub Measure (availableSize As Size)
Parametry
- availableSize
- Size
Dostupný prostor, který nadřazený prvek může přidělit podřízený prvek. Podřízený prvek může požadovat větší prostor, než je k dispozici; v případě, že je v modelu obsahu pro aktuální prvek možné posouvání, je možné pojmout zadanou velikost.
Poznámky
Výpočet umístění rozložení v Windows Presentation Foundation (WPF) se skládá z Measure volání a Arrange volání. Measure Během volání určuje prvek požadavky na jeho velikost pomocí availableSize
vstupu. Arrange Během volání je velikost prvku dokončena.
availableSize
může být libovolné číslo od nuly po nekonečné. Prvky, které se účastní rozložení, by měly vrátit minimum Size , které vyžadují pro danou availableSize
položku .
Při prvním vytvoření instance Measure rozložení obdrží vždy volání před Arrange. Po prvním předání rozložení však může přijmout Arrange volání bez Measurea ; může k tomu dojít v případě, že vlastnost, která ovlivňuje pouze Arrange změny (například zarovnání), nebo když nadřazený objekt obdrží Arrange bez Measurea . Measure Volání automaticky zneplatní Arrange volání.
Aktualizace rozložení probíhají asynchronně, proto hlavní vlákno nečeká na každou možnou změnu rozložení. Dotazování elementu prostřednictvím kontroly hodnot vlastností za kódem nemusí okamžitě odrážet změny vlastností, které pracují s vlastnostmi velikosti nebo rozložení ( Width například vlastnost).
Poznámka
Aktualizace rozložení je možné vynutit pomocí UpdateLayout metody. Volání této metody je ale obvykle zbytečné a může způsobit nízký výkon.
Systém rozložení uchovává dvě samostatné fronty neplatných rozložení, jednu pro Measure a jednu pro Arrange. Fronta rozložení se seřadí podle pořadí prvků ve vizuálním stromu prvku, který provádí rozložení; prvky vyšší ve stromu jsou v horní části fronty, aby nedocházelo k redundantním rozložením způsobeným opakovanými změnami v nadřazených souborech. Duplicitní položky se automaticky odeberou z fronty a prvky se automaticky odeberou z fronty, pokud jsou již ověřeny rozložením.
Při aktualizaci rozložení Measure se fronta nejprve vyprázdní a pak fronta Arrange . Prvek ve Arrange frontě nebude nikdy uspořádán, pokud je ve Measure frontě prvek.