UIElement.ArrangeCore(Rect) UIElement.ArrangeCore(Rect) UIElement.ArrangeCore(Rect) UIElement.ArrangeCore(Rect) Method

Definición

Define la plantilla de definición del diseño de organización nivel básico de WPF.Defines the template for WPF core-level arrange layout definition.

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 Rect Rect Rect

Área final en el elemento primario que este elemento debe usar para organizarse a sí mismo y a sus elementos secundarios.The final area within the parent that element should use to arrange itself and its child elements.

Ejemplos

ArrangeCorelas implementaciones deben llamar a la implementación base para devolver un tamaño y, Arrange a continuación, llamar al método de cada elemento secundario visible y reconciliar Arrange los tamaños devueltos por estas llamadas con el tamaño de la implementación base.ArrangeCore implementations should call the base implementation to return a size, then call the Arrange method of each visible child element, and reconcile the sizes returned by these Arrange calls with the size of the base implementation. La lógica para el aspecto de la conciliación de una ArrangeCore implementación puede variar en función de las características de diseño del elemento.The logic for the reconciliation aspect of a ArrangeCore implementation might vary, depending on the layout characteristics of your element. 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 pospone el comportamiento del contenido a los elementos derivados, como controles concretos o clases base de control.In the following example template, VisualChildren is a hypothetical property that your element might define to help enumerate its content; UIElement does not define content collections at this level, the WPF framework-level architecture defers content behavior to derived elements such as specific controls or control base classes.

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

Reemplazar este método solo es adecuado si se deriva en el nivel de núcleo 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. ArrangeCoreOverriding this method is only appropriate if you are deriving at the WPF core-level, and you are not using the WPF framework-level layout system and FrameworkElement derived class, because FrameworkElement seals 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 ArrangeOverrideespecífico de la clase es.If you are using the WPF framework-level layout system, the appropriate method to override for class-specific layout arrange behavior is ArrangeOverride.

Notas a los desarrolladores de herederos

Si va a desarrollar elementos en el nivel básico de WPF, debe invalidar este método para proporcionar a su elemento de nivel básico 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.If you are developing elements at the WPF core level,you should override this method to give your WPF core-level element a unique arrange layout behavior, or to make proper layout decisions about the child elements of your elements. Una invalidación podría ser necesaria si los elementos secundarios no son reconocibles de un patrón definido como ItemCollection.An override might be necessary if those child elements are not recognizable from a defined pattern such as an 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.A parent element must call the class-specific Arrange(Rect) on each child element, otherwise those child elements are not rendered.

Se aplica a