UIElement.RenderSize Propriedade

Definição

Obtém (ou define) o tamanho de renderização final deste 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 da propriedade

O tamanho renderizado para este elemento.

Exemplos

O exemplo a seguir mostra como um adorno personalizado usa o RenderSize valor para criar e dimensionar o gráfico do retângulo que define o adorno, como parte de sua OnRender implementação.

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

Comentários

Importante

Não tente definir essa propriedade, seja em XAML ou em código, se estiver usando o sistema de layout no nível da estrutura do WPF. Quase todos os cenários típicos de aplicativos usarão esse sistema de layout. O sistema de layout não respeitará os tamanhos definidos na RenderSize propriedade diretamente. A RenderSize propriedade é declarada gravável apenas para habilitar determinados casos de ponte de nível de núcleo do WPF que deliberadamente contornam os protocolos de layout típicos, como suporte para a Adorner classe .

Essa propriedade pode ser usada para verificar o tamanho de renderização aplicável em substituições do sistema de layout, como OnRender ou GetLayoutClip.

Um cenário mais comum é lidar com o SizeChanged evento com a substituição do manipulador de classe ou o OnRenderSizeChanged evento .

Aplica-se a

Confira também