UIElement.RenderSize 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得 (或設定) 這個項目的最終呈現大小。
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 只會宣告為可寫入,以啟用某些 WPF 核心層級橋接案例,以刻意規避一般版面配置通訊協定,例如支援 Adorner 類別。
這個屬性可用來檢查版面配置系統覆寫內適用的轉譯大小,例如 OnRender 或 GetLayoutClip 。
較常見的案例是使用類別處理常式覆寫或 OnRenderSizeChanged 事件來處理 SizeChanged 事件。