UIElement.RenderSize Propriété

Définition

Obtient (ou définit) la taille de rendu finale de cet élément.

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

Valeur de propriété

Taille de rendu de cet élément.

Exemples

L’exemple suivant montre comment un ornement personnalisé utilise la RenderSize valeur pour créer et dimensionner le graphique rectangle qui définit l’ornement, dans le cadre de son OnRender implémentation.

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

Remarques

Important

N’essayez pas de définir cette propriété, en XAML ou en code, si vous utilisez le système de disposition au niveau de l’infrastructure WPF. Presque tous les scénarios d’application classiques utilisent ce système de disposition. Le système de disposition ne respecte pas directement les tailles définies dans la RenderSize propriété. La RenderSize propriété est déclarée accessible en écriture uniquement pour activer certains cas de pontage au niveau du cœur WPF qui contournent délibérément les protocoles de disposition classiques, tels que la prise en charge de la Adorner classe.

Cette propriété peut être utilisée pour vérifier la taille de rendu applicable dans les remplacements de système de disposition tels que OnRender ou GetLayoutClip.

Un scénario plus courant consiste à gérer l’événement SizeChanged avec le remplacement du gestionnaire de classes ou l’événement OnRenderSizeChanged .

S’applique à

Voir aussi