UIElement.RenderSize プロパティ

定義

この要素の最終的な描画サイズを取得します (または、設定します)。

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

プロパティ値

この要素の描画のサイズ。

次の例は、カスタム装飾が、実装の一部として装飾を定義する四角形グラフィックを作成およびサイズ変更するために値を使用 RenderSize する方法を 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

注釈

重要

WPF フレームワーク レベルのレイアウト システムを使用している場合は、XAML またはコードでこのプロパティを設定しないでください。 ほとんどの一般的なアプリケーション シナリオでは、このレイアウト システムが使用されます。 レイアウト システムでは、 プロパティで直接設定されたサイズは RenderSize 考慮されません。 プロパティは RenderSize 、クラスのサポート Adorner など、一般的なレイアウト プロトコルを意図的に回避する特定の WPF コア レベルのブリッジング ケースを有効にするためにのみ書き込み可能に宣言されます。

このプロパティは、 や GetLayoutClipなどのOnRenderレイアウト システムのオーバーライド内で適用可能なレンダリング サイズを確認するために使用できます。

より一般的なシナリオは、クラス ハンドラーオーバーライドまたは イベントを使用してイベントをOnRenderSizeChanged処理SizeChangedすることです。

適用対象

こちらもご覧ください