UIElement.RenderSize Özellik

Tanım

Bu öğenin son işleme boyutunu alır (veya ayarlar).

public:
 property System::Windows::Size RenderSize { System::Windows::Size get(); void set(System::Windows::Size value); };
public System.Windows.Size RenderSize { get; set; }
member this.RenderSize : System.Windows.Size with get, set
Public Property RenderSize As Size

Özellik Değeri

Bu öğe için işlenen boyut.

Örnekler

Aşağıdaki örnekte, özel donatıcının uygulamasının RenderSize bir parçası olarak donatıcıyı tanımlayan dikdörtgen grafiği oluşturmak ve boyutlandırmak için değerini nasıl kullandığı gösterilmektedir OnRender .

protected override void OnRender(DrawingContext drawingContext)
{
  // Get a rectangle that represents the desired size of the rendered element
  // after the rendering pass.  This will be used to draw at the corners of the 
  // adorned element.
  Rect adornedElementRect = new Rect(this.AdornedElement.RenderSize);

  // Some arbitrary drawing implements.
  SolidColorBrush renderBrush = new SolidColorBrush(Colors.Green);
  renderBrush.Opacity = 0.2;
  Pen renderPen = new Pen(new SolidColorBrush(Colors.Navy), 1.5);
  double renderRadius = 5.0;

  // Just draw a circle at each corner.
  drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.TopLeft, renderRadius, renderRadius);
  drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.TopRight, renderRadius, renderRadius);
  drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.BottomLeft, renderRadius, renderRadius);
  drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.BottomRight, renderRadius, renderRadius);
}
Protected Overrides Sub OnRender(ByVal drawingContext As DrawingContext)
  ' Get a rectangle that represents the desired size of the rendered element
  ' after the rendering pass.  This will be used to draw at the corners of the 
  ' adorned element.
  Dim adornedElementRect As New Rect(Me.AdornedElement.RenderSize)

  ' Some arbitrary drawing implements.
  Dim renderBrush As New SolidColorBrush(Colors.Green)
  renderBrush.Opacity = 0.2
  Dim renderPen As New Pen(New SolidColorBrush(Colors.Navy), 1.5)
  Dim renderRadius As Double = 5.0

  ' Just draw a circle at each corner.
  drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.TopLeft, renderRadius, renderRadius)
  drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.TopRight, renderRadius, renderRadius)
  drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.BottomLeft, renderRadius, renderRadius)
  drawingContext.DrawEllipse(renderBrush, renderPen, adornedElementRect.BottomRight, renderRadius, renderRadius)
End Sub

Açıklamalar

Önemli

WPF çerçeve düzeyi düzen sistemini kullanıyorsanız bu özelliği XAML'de veya kodda ayarlamayı denemeyin. Neredeyse tüm tipik uygulama senaryoları bu düzen sistemini kullanır. Düzen sistemi, özelliğinde ayarlanan boyutları doğrudan dikkate RenderSize almayacaktır. RenderSize özelliği yalnızca sınıfı için destek gibi tipik düzen protokollerini kasten atlatan bazı WPF çekirdek düzeyinde köprüleme olaylarını etkinleştirmek için Adorner yazılabilir olarak bildirilir.

Bu özellik, veya GetLayoutClipgibi OnRender düzen sistemi geçersiz kılmaları içinde geçerli işleme boyutunu denetlemek için kullanılabilir.

Daha yaygın bir senaryo, sınıf işleyici geçersiz kılma veya olayı ile olayı işlemektir SizeChangedOnRenderSizeChanged .

Şunlara uygulanır

Ayrıca bkz.