Udostępnij za pośrednictwem


UIElement.Measure(Size) Metoda

Definicja

Aktualizuje element DesiredSize .UIElement Elementy nadrzędne nazywają tę metodę z własnych MeasureCore(Size) implementacji w celu utworzenia aktualizacji układu cyklicznego. Wywołanie tej metody stanowi pierwsze przekazanie (przekazywanie "Miara") aktualizacji układu.

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

Dostępne miejsce, które element nadrzędny może przydzielić element podrzędny. Element podrzędny może zażądać większego miejsca niż to, co jest dostępne; podany rozmiar może być uwzględniony, jeśli przewijanie jest możliwe w modelu zawartości dla bieżącego elementu.

Uwagi

Obliczanie pozycjonowania układu w Windows Presentation Foundation (WPF) składa się z Measure wywołania i wywołaniaArrange. Podczas wywołania element określa jego wymagania dotyczące rozmiaru Measure przy użyciu danych wejściowych availableSize . Podczas wywołania Arrange rozmiar elementu jest finalizowany.

availableSize może być dowolną liczbą z zakresu od zera do nieskończonej. Elementy biorące udział w układzie powinny zwrócić wartość minimalną Size wymaganą dla danego availableSizeelementu .

Gdy układ jest najpierw tworzone, zawsze odbiera wywołanie Measure przed Arrange. Jednak po pierwszym przekazaniu układu może odbierać Arrange wywołanie bez Measure. Może się to zdarzyć, gdy właściwość, która ma wpływ tylko Arrange na zmianę (na przykład wyrównanie) lub gdy obiekt nadrzędny otrzyma obiekt Arrange bez Measure. Wywołanie Measure spowoduje automatyczne unieważnienie wywołania Arrange .

Aktualizacje układu są wykonywane asynchronicznie, tak aby główny wątek nie czekał na każdą możliwą zmianę układu. Wykonywanie zapytań względem elementu za pomocą sprawdzania wartości właściwości za pomocą kodu może nie odzwierciedlać natychmiast zmian właściwości, które wchodzą w interakcję z właściwościami ustalania rozmiaru lub układu ( Width na przykład właściwości).

Uwaga

Aktualizacje układu można wymusić za pomocą UpdateLayout metody . Jednak wywoływanie tej metody jest zwykle niepotrzebne i może spowodować niską wydajność.

System układu przechowuje dwie oddzielne kolejki nieprawidłowych układów: jeden dla Measure i jeden dla Arrange. Kolejka układu jest sortowana na podstawie kolejności elementów w drzewie wizualnym elementu wykonującego układ; elementy wyższe w drzewie znajdują się w górnej części kolejki, aby uniknąć nadmiarowych układów spowodowanych powtarzającymi się zmianami w elementach nadrzędnych. Zduplikowane wpisy są automatycznie usuwane z kolejki, a elementy są automatycznie usuwane z kolejki, jeśli zostały już zweryfikowane w układzie.

Podczas aktualizowania układu kolejka Measure jest najpierw opróżniona, a następnie kolejka Arrange . Element w Arrange kolejce nigdy nie zostanie rozmieszczony, jeśli w Measure kolejce znajduje się element.

Dotyczy