UIElement.ArrangeCore(Rect) Metodo

Definizione

Definisce il modello per macchine virtuali Windows definizione del layout di disposizione a livello di core.

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)

Parametri

finalRect
Rect

Area finale all'interno dell'elemento padre che deve utilizzare per disporre se stessa e i relativi elementi figlio.

Esempio

ArrangeCore Le implementazioni devono chiamare l'implementazione di base per restituire una dimensione, quindi chiamare il Arrange metodo di ogni elemento figlio visibile e riconciliare le dimensioni restituite da queste Arrange chiamate con le dimensioni dell'implementazione di base. La logica per l'aspetto di riconciliazione di un'implementazione ArrangeCore può variare, a seconda delle caratteristiche di layout dell'elemento. Nel modello di esempio seguente VisualChildren è una proprietà ipotetica che l'elemento potrebbe definire per enumerare il contenuto; UIElement non definisce raccolte di contenuti a questo livello, l'architettura a livello di framework macchine virtuali Windows rinvia il comportamento del contenuto a elementi derivati, ad esempio controlli specifici o classi di base del controllo.

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

Commenti

Note

L'override di questo metodo è appropriato solo se si deriva a livello di core macchine virtuali Windows e non si usa il sistema di layout a livello di framework macchine virtuali Windows e FrameworkElement classe derivata, perché FrameworkElement sigilli ArrangeCore. Se si usa il sistema di layout a livello di framework macchine virtuali Windows, il metodo appropriato per eseguire l'override per il comportamento di disposizione del layout specifico della classe è ArrangeOverride.

Note per gli eredi

Se si sviluppano elementi a livello di base macchine virtuali Windows, è consigliabile eseguire l'override di questo metodo per assegnare al proprio macchine virtuali Windows elemento di base un comportamento di layout di disposizione univoco o per prendere decisioni di layout appropriate sugli elementi figlio degli elementi. Un override potrebbe essere necessario se tali elementi figlio non sono riconoscibili da un modello definito, ad esempio .ItemCollection

Un elemento padre deve chiamare la classe specifica Arrange(Rect) di ogni elemento figlio. In caso contrario, tali elementi figlio non vengono sottoposti a rendering.

Si applica a