UIElement.RenderSize Propiedad

Definición

Obtiene (o establece) el tamaño final de presentación de este elemento.

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

Valor de propiedad

Tamaño presentado para este elemento.

Ejemplos

En el ejemplo siguiente se muestra cómo un adorno personalizado usa el valor para crear y ajustar el RenderSize tamaño del gráfico de rectángulo que define el adorno, como parte de su OnRender implementación.

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

Comentarios

Importante

No intente establecer esta propiedad, ya sea en XAML o en código, si usa el sistema de diseño de nivel de marco de WPF. Casi todos los escenarios de aplicación típicos usarán este sistema de diseño. El sistema de diseño no respetará los tamaños establecidos en la RenderSize propiedad directamente. La RenderSize propiedad se declara grabable solo para habilitar determinados casos de puente de nivel básico de WPF que sortean deliberadamente los protocolos de diseño típicos, como la compatibilidad con la Adorner clase .

Esta propiedad se puede usar para comprobar el tamaño de representación aplicable en invalidaciones del sistema de diseño, como OnRender o GetLayoutClip.

Un escenario más común es controlar el SizeChanged evento con la invalidación del controlador de clases o el OnRenderSizeChanged evento .

Se aplica a

Consulte también