UIElement.RenderSize Proprietà

Definizione

Ottiene (o imposta) la dimensione di rendering finale di questo 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

Valore della proprietà

Dimensioni di rendering per questo elemento.

Esempio

Nell'esempio seguente viene illustrato come uno strumento decorativo personalizzato usi il RenderSize valore per creare e ridimensionare l'elemento grafico rettangolo che definisce lo strumento decorativo, come parte dell'implementazione 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

Commenti

Importante

Non tentare di impostare questa proprietà, in XAML o nel codice, se si usa il sistema di layout a livello di framework WPF. Quasi tutti gli scenari di applicazione tipici useranno questo sistema di layout. Il sistema di layout non rispetta direttamente le dimensioni impostate nella RenderSize proprietà . La RenderSize proprietà è dichiarata scrivibile solo per abilitare determinati casi di bridging a livello di core WPF che aggirano deliberatamente i protocolli di layout tipici, ad esempio il supporto per la Adorner classe .

Questa proprietà può essere usata per controllare le dimensioni di rendering applicabili all'interno degli override del sistema di layout, OnRender ad esempio o GetLayoutClip.

Uno scenario più comune è la gestione dell'evento con l'override SizeChanged del gestore di classi o l'evento OnRenderSizeChanged .

Si applica a

Vedi anche