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.

protected:
 virtual void ArrangeCore(System::Windows::Rect finalRect);
protected virtual void ArrangeCore (System.Windows.Rect finalRect);
abstract member ArrangeCore : System.Windows.Rect -> unit
override this.ArrangeCore : System.Windows.Rect -> unit
Protected Overridable Sub ArrangeCore (finalRect As Rect)

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.

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));
     }
 }
Protected Overrides Sub ArrangeCore(ByVal finalRect As Rect)
     'Call base, it will set offset and RenderBounds to the finalRect:
     MyBase.ArrangeCore(finalRect)
     For Each child As UIElement In VisualChildren
         child.Arrange(New Rect(childX, childY, childWidth, childHeight))
     Next child
End Sub

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