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é prvky volají tuto metodu z vlastních MeasureCore(Size) implementací pro vytvoření rekurzivní aktualizace 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é místo, 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; Zadaná velikost se může přizpůsobit, pokud je v modelu obsahu pro aktuální prvek možné posouvání.
Poznámky
Výpočet umístění rozložení ve Windows Presentation Foundation (WPF) se skládá z Measure volání a Arrange volání.
Measure Během volání prvek určuje své požadavky na velikost pomocí availableSize vstupu.
Arrange Během volání je velikost prvku finalizována.
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 availableSizepoložku .
Při prvním vytvoření instance rozložení vždy obdrží Measure volání před Arrange. Po prvním průchodu rozložení však může přijmout Arrange volání bez a Measure; může k tomu dojít, když se změní vlastnost, která ovlivňuje pouze Arrange (například zarovnání), nebo když nadřazený objekt obdrží Arrange bez a Measure. Measure Volání automaticky zruší platnost Arrange volání.
Aktualizace rozložení probíhají asynchronně, aby hlavní vlákno nečekaly na všechny možné změny 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 UpdateLayout pomocí metody. Volání této metody je však 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 druhou pro Arrange. Fronta rozložení se seřadí na základě pořadí prvků ve vizuálním stromu prvku provádějícího rozložení; prvky vyšší ve stromu jsou v horní části fronty, aby se zabránilo nadbytečným rozložením způsobeným opakovanými změnami v nadřazených prvcích. 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 existuje prvek ve frontě Measure .