UIElement.ArrangeCore(Rect) Método

Definição

Define o modelo para a definição de layout de disposição de nível de núcleo do 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

A área final no pai que esse elemento deve usar para organizar a si próprio e seus filhos.The final area within the parent that element should use to arrange itself and its child elements.

Exemplos

as implementações de ArrangeCore devem chamar a implementação base para retornar um tamanho, chamar o método Arrange de cada elemento filho visível e reconciliar os tamanhos retornados por essas chamadas Arrange com o tamanho da implementação de 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. A lógica para o aspecto de reconciliação de uma implementação de ArrangeCore pode variar, dependendo das características de layout do seu elemento.The logic for the reconciliation aspect of a ArrangeCore implementation might vary, depending on the layout characteristics of your element. No modelo de exemplo a seguir, VisualChildren é uma propriedade hipotética que seu elemento pode definir para ajudar a enumerar seu conteúdo; UIElement não define as coleções de conteúdo nesse nível, a arquitetura de nível de estrutura do WPF adia o comportamento do conteúdo para elementos derivados, como controles específicos ou classes base de controle.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

Comentários

Observação

Substituir esse método só será apropriado se você estiver derivando no nível de núcleo do WPF e não estiver usando o sistema de layout no nível de estrutura do WPF e FrameworkElement classe derivada, porque FrameworkElement selos ArrangeCore.Overriding 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. Se você estiver usando o sistema de layout no nível de estrutura do WPF, o método apropriado para substituir o comportamento da organização de layout específico de classe será ArrangeOverride.If you are using the WPF framework-level layout system, the appropriate method to override for class-specific layout arrange behavior is ArrangeOverride.

Notas aos Herdeiros

Se você estiver desenvolvendo elementos no nível de núcleo do WPF, deverá substituir esse método para dar ao elemento de nível básico do WPF um comportamento de layout de organização exclusivo ou tomar decisões de layout adequadas sobre os elementos filho de seus 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. Uma substituição poderá ser necessária se esses elementos filho não puderem ser reconhecidos de um padrão definido, como um ItemCollection.An override might be necessary if those child elements are not recognizable from a defined pattern such as an ItemCollection.

Um elemento pai deve chamar o Arrange(Rect) específico da classe em cada elemento filho, caso contrário, esses elementos filho não são renderizados.A parent element must call the class-specific Arrange(Rect) on each child element, otherwise those child elements are not rendered.

Aplica-se a