UIElement.ArrangeCore(Rect) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define o modelo para a definição do layout de arranjo ao nível central do 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
A última área dentro do progenitor que esse elemento deve usar para se organizar a si próprio e aos seus elementos filhos.
Exemplos
ArrangeCore As implementações devem chamar a implementação base para devolver um tamanho, depois chamar o Arrange método de cada elemento filho visível, e reconciliar os tamanhos devolvidos por estas Arrange chamadas com o tamanho da implementação base. A lógica para o aspeto de reconciliação de uma ArrangeCore implementação pode variar, dependendo das características de disposição do seu elemento. No modelo de exemplo seguinte, VisualChildren é uma propriedade hipotética que o seu elemento pode definir para ajudar a enumerar o seu conteúdo; UIElement não define coleções de conteúdo a este nível; a arquitetura ao nível do framework WPF delega o comportamento do conteúdo para elementos derivados, como controlos específicos ou classes base de controlo.
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
Observações
Note
Anular este método só é apropriado se estiver a derivar ao nível WPF núcleo, e não estiver a usar o sistema de layout ao nível do framework WPF e a classe derivada FrameworkElement, porque FrameworkElement sela ArrangeCore. Se estiver a usar o sistema de layout ao nível do framework WPF, a forma correta de substituir o comportamento de layout específico de classe é ArrangeOverride.
Notas para Herdeiros
Se estiver a desenvolver elementos ao nível central do WPF, deve sobrepor este método para dar ao seu elemento central do WPF um comportamento único de layout de arranjo, ou para tomar decisões adequadas de layout sobre os elementos filhos dos seus elementos. Pode ser necessário um override se esses elementos filhos não forem reconhecíveis a partir 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 filhos não são renderizados.