Udostępnij za pośrednictwem


UIElement.RenderSize Właściwość

Definicja

Pobiera (lub ustawia) ostateczny rozmiar renderowania tego elementu.

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

Wartość właściwości

Renderowany rozmiar tego elementu.

Przykłady

W poniższym przykładzie pokazano, jak niestandardowy adorator używa RenderSize wartości w celu utworzenia i rozmiaru grafiki prostokątnej definiującej adorator w ramach jego OnRender implementacji.

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

Uwagi

Ważne

Nie należy próbować ustawić tej właściwości w języku XAML lub w kodzie, jeśli korzystasz z systemu układów na poziomie platformy WPF. Prawie wszystkie typowe scenariusze aplikacji będą używać tego systemu układów. System układu nie będzie uwzględniać rozmiarów ustawionych bezpośrednio we RenderSize właściwości. Właściwość RenderSize jest zadeklarowana jako zapisywalna tylko w celu włączenia niektórych przypadków mostkowania na poziomie rdzeniA WPF, które celowo obejść typowe protokoły układu, takie jak obsługa Adorner klasy.

Ta właściwość może służyć do sprawdzania odpowiedniego rozmiaru renderowania w systemie układów przesłonięć, takich jak OnRender lub GetLayoutClip.

Bardziej typowym scenariuszem jest obsługa SizeChanged zdarzenia za pomocą zastąpienia programu obsługi klas lub OnRenderSizeChanged zdarzenia.

Dotyczy

Zobacz też