Leer en inglés

Compartir a través de


UIElement.ArrangeCore(Rect) Método

Definición

Define la plantilla de definición del diseño de organización nivel básico de WPF.

C#
protected virtual void ArrangeCore(System.Windows.Rect finalRect);

Parámetros

finalRect
Rect

Área final en el elemento primario que este elemento debe usar para organizarse a sí mismo y a sus elementos secundarios.

Ejemplos

ArrangeCore Las implementaciones deben llamar a la implementación base para devolver un tamaño y, a continuación, llamar al Arrange método de cada elemento secundario visible y conciliar los tamaños devueltos por estas Arrange llamadas con el tamaño de la implementación base. La lógica para el aspecto de conciliación de una ArrangeCore implementación puede variar, en función de las características de diseño del elemento. En la plantilla de ejemplo siguiente, VisualChildren es una propiedad hipotética que el elemento podría definir para ayudar a enumerar su contenido; UIElement no define colecciones de contenido en este nivel, la arquitectura de nivel de marco de WPF aplaza el comportamiento del contenido a elementos derivados, como controles específicos o clases base de control.

C#
protected override void ArrangeCore(Rect finalRect)
{
     //Call base, it will set offset and RenderBounds to the finalRect:
     base.ArrangeCore(finalRect);
     foreach (UIElement child in VisualChildren)
     {
         child.Arrange(new Rect(childX, childY, childWidth, childHeight));
     }
 }

Comentarios

Nota

La invalidación de este método solo es adecuada si se deriva en el nivel básico de WPF y no se usa el sistema de diseño de nivel de marco de WPF y FrameworkElement la clase derivada, porque FrameworkElement sella ArrangeCore. Si usa el sistema de diseño de nivel de marco de WPF, el método adecuado para invalidar el comportamiento de organización de diseño específico de clase es ArrangeOverride.

Notas a los desarrolladores de herederos

Si está desarrollando elementos en el nivel básico de WPF, debe invalidar este método para proporcionar al elemento de nivel principal de WPF un comportamiento de diseño de organización único o para tomar decisiones de diseño adecuadas sobre los elementos secundarios de los elementos. Una invalidación podría ser necesaria si esos elementos secundarios no son reconocibles a partir de un patrón definido, como .ItemCollection

Un elemento primario debe llamar a la clase específica Arrange(Rect) de cada elemento secundario; de lo contrario, esos elementos secundarios no se representan.

Se aplica a

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10