FrameworkElement.MeasureOverride(Size) Metoda

Definicja

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

Size

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:

  1. Iteruj konkretną kolekcję elementów podrzędnych, które są częścią układu, wywołaj Measure metodę dla każdego elementu podrzędnego.

  2. Natychmiast dostać DesiredSize się do elementu podrzędnego (jest to ustawienie jako właściwość po Measure wywołaniu).

  3. 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.

Dotyczy