Dil

UIElement.Arrange(Rect) Yöntem

Tanım

Alt öğeleri yerleştirir ve için bir UIElementboyut belirler. Üst öğeler, özyinelemeli düzen güncelleştirmesi oluşturmak için bu yöntemi uygulamalarından ArrangeCore(Rect) (veya WPF çerçeve düzeyi eşdeğerinden) çağırır. Bu yöntem, düzen güncelleştirmesinin ikinci geçişini oluşturur.

public:
 void Arrange(System::Windows::Rect finalRect);
public void Arrange(System.Windows.Rect finalRect);
member this.Arrange : System.Windows.Rect -> unit
Public Sub Arrange (finalRect As Rect)

Parametreler

finalRect
Rect

Üst öğenin alt öğe için hesaplandığı ve örnek Rect olarak sağlanan son boyut.

Açıklamalar

WPF çerçeve düzeyinde öğe türetme senaryoları için Arrange davranışı değiştirilmemelidir (ve gölgelendirmediğiniz sürece değiştirilemez). Bunun yerine, sınıfınızdaki uygulamayı geçersiz kılmalısınız ArrangeOverride . ArrangeOverride uygulamanız, Arrange tarafından varsayılan WPF çerçeve düzeyinde düzen işlemlerinin parçası olarak dahili olarak çağrılır. Uygulamanız ArrangeCore , alt öğeleri varsa her alt öğede de çağrı ArrangeOverride yapmalıdır.

WPF çekirdek düzeyinde öğe türetme senaryoları için Arrange davranışı değiştirilmemelidir (ve gölgelendirmediğiniz sürece değiştirilemez). Bunun yerine, sınıfınızda geçersiz kılmalısınız ArrangeCore . ArrangeCore uygulamanız, Arrange tarafından varsayılan WPF çerçeve düzeyinde düzen işlemlerinin parçası olarak dahili olarak çağrılır. Ancak bu, UIElement temel öğe sınıfından WPF çekirdek düzeyinde öğeler türetiyorsanız genellikle böyle olmayan WPF çerçeve düzeyi düzeni ve düzen sistemini kullandığınız varsayılır. Uygulamanız ArrangeCore , alt öğeleri varsa her alt öğede de çağrı Arrange yapmalıdır. FrameworkElement seals FrameworkElement olduğundan WPF çekirdek düzeyindeki senaryonun ArrangeCore türetilmiş bir sınıf kullanmadığınız anlamına geldiğini unutmayın.

Windows Presentation Foundation 'de (WPF) WPF çerçeve düzeyinde düzen konumlandırmanın hesaplaması, Measure çağrısından ve Arrange çağrısından oluşur. Measure Çağrı sırasında düzen sistemi, sağlanan Size (availableSize) bağımsız değişkenini kullanarak öğenin boyut gereksinimlerini belirler. Arrange Çağrı sırasında düzen sistemi bir öğenin sınırlayıcı kutusunun boyutunu ve konumunu son haline getirir. Daha fazla bilgi için bkz . Düzen.

availableSize sıfırdan sonsuza kadar herhangi bir sayı olabilir. Yerleştirilecek öğeler, parametresi aracılığıyla gerek duydukları minimum Size değeri availableSize döndürür.

Bir düzenin örneği ilk başlatıldığında, her zaman öncesinde Measurebir Arrange çağrı alır. Ancak, ilk düzen geçtikten sonra, olmadan Arrangebir Measure çağrı alabilir; yalnızca Arrange etkileyen bir özellik değiştirildiğinde (hizalama gibi) veya üst öğe olmadan bir ArrangeMeasurealdığında bu durum oluşabilir. Arama Measure otomatik olarak bir çağrıyı geçersiz kılacak Arrange .

Düzen güncelleştirmeleri genellikle zaman uyumsuz olarak gerçekleşir (düzen sistemi tarafından belirlenen bir zamanda). Bir öğe, öğe boyutlandırmasını etkileyen özelliklerde yapılan değişiklikleri hemen yansıtmayabilir (örneğin Width).

Note

Düzen güncelleştirmeleri yöntemi kullanılarak UpdateLayout zorlanabilir; ancak genellikle gereksiz olduğundan ve düşük performansa neden olabileceğinden bu işlevin çağrılması önerilmez. Çağrının UpdateLayout uygun olabileceği birçok durumda, düzen sistemi büyük olasılıkla güncelleştirmeleri işliyor olacaktır. Düzen sistemi, düzen değişikliklerini bir paketin parçası olarak tüm gerekli güncelleştirmeleri en iyi duruma getirebilecek şekilde işleyebilir.

Düzen sistemi, biri için ve diğeri Measureiçin Arrange olan iki ayrı geçersiz düzen kuyruğu tutar. Düzen kuyruğu, görsel ağaçtaki öğelerin sırasına göre sıralanır. Üst öğelerde yinelenen değişikliklerden kaynaklanan yedekli düzenleri önlemek için, ağaçtaki daha yüksek öğeler kuyruğun en üstünde yer alır. Yinelenen girdiler kuyruktan otomatik olarak kaldırılır ve öğeler zaten geçerliyse kuyruktan otomatik olarak kaldırılır.

Düzen güncelleştirilirken önce Measure kuyruk boşaltılır, ardından kuyruk eklenir Arrange . Kuyrukta Arrange bir öğe varsa kuyruktaki Measure bir öğe hiçbir zaman düzenlenemez.

Şunlara uygulanır