Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Propriété UIElement.RenderSize

 

Obtient (ou définit, mais consultez dans ce cas le paragraphe des Notes) les dimensions finales du rendu de cet élément.

Espace de noms:   System.Windows
Assembly:  PresentationCore (dans PresentationCore.dll)

public Size RenderSize { get; set; }

Valeur de propriété

Type: System.Windows.Size

Dimensions rendues pour cet élément.

System_CAPS_importantImportant

N'essayez pas de définir cette propriété, que ce soit en XAML ou dans le code, lors de l'utilisation du système de disposition au niveau de l'infrastructure WPF.Presque tous les scénarios d'application typiques utilisent ce système de disposition.Le système de disposition ne respecte pas les dimensions définies directement dans la propriété RenderSize.La propriété RenderSize est déclarée pour un accès en écriture uniquement afin d'activer certains cas de pontage au niveau du noyau WPF qui contournent délibérément les protocoles typiques de disposition, tels que la prise en charge de la classe Adorner.

Cette propriété peut être utilisée pour vérifier les dimensions de rendu applicables au sein des substitutions du système de disposition, telles que OnRender ou GetLayoutClip.

Un scénario plus courant consiste à gérer l'événement SizeChanged avec la substitution du gestionnaire de classe ou l'événement OnRenderSizeChanged.

L'exemple suivant illustre un ornement personnalisé utilisant la valeur de RenderSize afin de créer et dimensionner le rectangle qui définit l'ornement, dans le cadre de son implémentation d'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);
}

.NET Framework
Disponible depuis 3.0
Silverlight
Disponible depuis 2.0
Windows Phone Silverlight
Disponible depuis 7.0
Retour au début
Afficher: