UIElement.RenderSize Eigenschaft

Definition

Ruft die endgültige Größe zum Rendern dieses Elements ab (oder legt diese fest, siehe „Hinweise“).Gets (or sets) the final render size of this element.

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.The rendered size for this element.

Beispiele

Das folgende Beispiel zeigt, wie ein benutzerdefinierter Funktions Indikator den RenderSize-Wert verwendet, um die Rechteck Grafik zu erstellen und zu verkleinern, die den Funktions Indikator als Teil seiner OnRender Implementierung definiert.The following example shows how a custom adorner uses the RenderSize value in order to create and size the rectangle graphic that defines the adorner, as part of its OnRender implementation.

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 entweder in XAMLXAML oder im Code festzulegen, wenn Sie das Layoutsystem auf WPF-Frameworkebene verwenden.Do not attempt to set this property, either in XAMLXAML or in code, if using the WPF framework-level layout system. In nahezu allen typischen Anwendungsszenarien wird dieses Layoutsystem verwendet.Nearly all typical application scenarios will use this layout system. Das Layoutsystem berücksichtigt keine Größen, die in der RenderSize-Eigenschaft direkt festgelegt sind.The layout system will not respect sizes set in the RenderSize property directly. Die RenderSize-Eigenschaft ist nur als beschreibbar deklariert, um bestimmte Bridging-Fälle auf WPF-Kern Ebene zu ermöglichen, die die üblichen layoutprotokolle, wie z. b. die Unterstützung der Adorner-KlasseThe RenderSize property is declared writable only to enable certain WPF core-level bridging cases that deliberately circumvent the typical layout protocols, such as support for the Adorner class.

Diese Eigenschaft kann zum Überprüfen der anwendbaren Rendering-Größe in layoutsystemüberschreibungen wie OnRender oder GetLayoutClipverwendet werden.This property can be used for checking the applicable render size within layout system overrides such as OnRender or GetLayoutClip.

Ein allgemeineres Szenario ist die Behandlung des SizeChanged Ereignisses mit der Überschreibung des Klassen Handlers oder des OnRenderSizeChanged Ereignisses.A more common scenario is handling the SizeChanged event with the class handler override or the OnRenderSizeChanged event.

Gilt für:

Siehe auch