Bagikan melalui


UIElement.RenderSize Properti

Definisi

Mendapatkan (atau mengatur) ukuran render akhir elemen ini.

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

Nilai Properti

Ukuran yang dirender untuk elemen ini.

Contoh

Contoh berikut menunjukkan bagaimana adorner kustom menggunakan RenderSize nilai untuk membuat dan mengukur grafik persegi panjang yang mendefinisikan adorner, sebagai bagian dari implementasinya 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

Keterangan

Penting

Jangan mencoba mengatur properti ini, baik dalam XAML atau dalam kode, jika menggunakan sistem tata letak tingkat kerangka kerja WPF. Hampir semua skenario aplikasi umum akan menggunakan sistem tata letak ini. Sistem tata letak tidak akan menghormati ukuran yang diatur dalam properti secara RenderSize langsung. RenderSize Properti dinyatakan dapat ditulis hanya untuk mengaktifkan kasus bridging tingkat inti WPF tertentu yang sengaja menghindari protokol tata letak umum, seperti dukungan untuk Adorner kelas.

Properti ini dapat digunakan untuk memeriksa ukuran render yang berlaku dalam penimpaan sistem tata letak seperti OnRender atau GetLayoutClip.

Skenario yang lebih umum adalah menangani SizeChanged peristiwa dengan penimpaan handler kelas atau OnRenderSizeChanged peristiwa.

Berlaku untuk

Lihat juga