UIElement.ArrangeCore(Rect) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define o modelo para WPF definição de layout de organização de nível central.
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 dentro do pai que o elemento deve usar para organizar a si mesmo e seus elementos filho.
Exemplos
ArrangeCore as implementações devem chamar a implementação base para retornar um tamanho, chamar o Arrange método de cada elemento filho visível e reconciliar os tamanhos retornados por essas Arrange chamadas com o tamanho da implementação base. A lógica para o aspecto de reconciliação de uma ArrangeCore implementação pode variar, dependendo das características de layout do elemento. 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 coleções de conteúdo nesse nível, o WPF arquitetura de nível de estrutura adia o comportamento do conteúdo para elementos derivados, como controles específicos ou classes base de controle.
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
Note
Substituir esse método só será apropriado se você estiver derivando no nível do WPF núcleo e não estiver usando o sistema de layout no nível da estrutura WPF e a classe derivada FrameworkElement, porque FrameworkElement sela ArrangeCore. Se você estiver usando o sistema de layout no nível da estrutura WPF, o método apropriado para substituir o comportamento de organização de layout específico da classe será ArrangeOverride.
Notas aos Herdeiros
Se você estiver desenvolvendo elementos no nível WPF núcleo, substitua esse método para dar ao elemento de nível de núcleo WPF um comportamento de layout de organização exclusivo ou tomar decisões de layout adequadas sobre os elementos filho de seus elementos. Uma substituição pode ser necessária se esses elementos filho não forem reconhecíveis de um padrão definido, como um ItemCollection.
Um elemento pai deve chamar a classe específica Arrange(Rect) em cada elemento filho, caso contrário, esses elementos filho não são renderizados.