FrameworkElement.MeasureOverride(Size) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Gdy przesłonięć w klasie pochodnej, mierzy rozmiar w układzie wymaganym dla elementów podrzędnych i określa rozmiar klasy pochodnej FrameworkElement.
protected:
virtual System::Windows::Size MeasureOverride(System::Windows::Size availableSize);
protected virtual System.Windows.Size MeasureOverride (System.Windows.Size availableSize);
abstract member MeasureOverride : System.Windows.Size -> System.Windows.Size
override this.MeasureOverride : System.Windows.Size -> System.Windows.Size
Protected Overridable Function MeasureOverride (availableSize As Size) As Size
Parametry
- availableSize
- Size
Dostępny rozmiar, który ten element może dać elementom podrzędnym. Nieskończoność można określić jako wartość, aby wskazać, że element będzie mieć rozmiar do dowolnej dostępnej zawartości.
Zwraca
Rozmiar, który ten element określa, że musi być w układzie, na podstawie obliczeń rozmiaru elementów podrzędnych.
Uwagi
ZastąpMeasureOverride, aby zaimplementować zachowanie niestandardowego określania rozmiaru elementu, ponieważ uczestniczy w systemie układu Windows Presentation Foundation (WPF). Implementacja powinna wykonywać następujące czynności:
Iteruj konkretną kolekcję elementów podrzędnych, które są częścią układu, wywołaj Measure metodę dla każdego elementu podrzędnego.
Natychmiast dostać DesiredSize się do elementu podrzędnego (jest to ustawienie jako właściwość po Measure wywołaniu).
Oblicz żądany rozmiar netto elementu nadrzędnego na podstawie pomiaru elementów podrzędnych.
Zwracana MeasureOverride wartość powinna być żądanym rozmiarem elementu, który następnie staje się miarą danych wejściowych elementu nadrzędnego bieżącego elementu. Ten sam proces jest kontynuowany przez system układu do momentu osiągnięcia głównego elementu strony.
Podczas tego procesu elementy podrzędne mogą zwracać większy DesiredSize rozmiar niż początkowy availableSize
, aby wskazać, że element podrzędny chce więcej miejsca. Może to być obsługiwane we własnej implementacji, wprowadzając region przewijany, zmieniając rozmiar kontrolki nadrzędnej, ustalając jakiś sposób skumulowanego porządku lub dowolną liczbę rozwiązań do mierzenia lub rozmieszczania zawartości.
Ważne
Elementy powinny być wywoływane Measure dla każdego elementu podrzędnego w trakcie tego procesu, w przeciwnym razie elementy podrzędne nie będą prawidłowo ustawione ani ułożone.
Uwagi dotyczące dziedziczenia
Poniższy kod, który nie kompiluje, pokazuje ten wzorzec implementacji. Element VisualChildren
reprezentuje właściwość kolekcji możliwej do wyliczenia elementów podrzędnych, które powinny zostać zdefiniowane przez własny element. Właściwość może mieć nazwę dowolnego elementu. VisualChildren
jest nazwą symbolu zastępczego na potrzeby tego przykładu, VisualChildren
nie jest interfejsem API udostępnianym przez platformę WPF ani częścią wzorca nazewnictwa.