UIElement.ArrangeCore(Rect) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Define la plantilla para WPF definición de diseño de organización de nivel básico.
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 dentro del elemento primario que debe usar para organizarse y 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 WPF de nivel de marco 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
Note
La invalidación de este método solo es adecuada si se deriva en el nivel de núcleo WPF y no se usa el sistema de diseño de nivel de marco de WPF y la clase derivada FrameworkElement, ya que 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 de núcleo WPF, debe invalidar este método para proporcionar al elemento de nivel principal 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 puede 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.