UIElement.RenderSize Eigenschaft

Definition

Ruft die endgültige Größe zum Rendern dieses Elements ab (oder legt diese fest, siehe „Hinweise“).

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

Eigenschaftswert

Die gerenderte Größe für dieses Element.

Beispiele

Das folgende Beispiel zeigt, wie ein benutzerdefinierter Adorner den RenderSize Wert verwendet, um die Rechteckgrafik, die den Adorner definiert, als Teil seiner OnRender Implementierung zu erstellen und zu vergrößern.

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

Hinweise

Wichtig

Versuchen Sie nicht, diese Eigenschaft festzulegen, weder in XAML noch im Code, wenn Sie das Layoutsystem auf WPF-Frameworkebene verwenden. Fast alle typischen Anwendungsszenarien verwenden dieses Layoutsystem. Das Layoutsystem berücksichtigt keine Größen, die in der RenderSize -Eigenschaft direkt festgelegt wurden. Die RenderSize Eigenschaft wird nur für beschreibbar erklärt, um bestimmte WPF-Überbrückungsfälle auf Kernebene zu ermöglichen, die die typischen Layoutprotokolle absichtlich umgehen, z. B. unterstützung für die Adorner -Klasse.

Diese Eigenschaft kann verwendet werden, um die anwendbare Rendergröße innerhalb von Layoutsystemüberschreibungen wie OnRender oder GetLayoutClipzu überprüfen.

Ein häufigeres Szenario ist die Behandlung des Ereignisses SizeChanged mit der Außerkraftsetzung des Klassenhandlers oder des -Ereignisses OnRenderSizeChanged .

Gilt für:

Weitere Informationen