UIElement.RenderSize UIElement.RenderSize UIElement.RenderSize UIElement.RenderSize Property

定義

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

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

注釈

重要

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

レイアウト システム内で該当するレンダリング サイズの上書きなどを確認するため、このプロパティを使用できますOnRenderまたはGetLayoutClipします。

一般的なシナリオの処理、SizeChangedクラス ハンドラーでイベントをオーバーライドまたはOnRenderSizeChangedイベント。

適用対象

こちらもご覧ください