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

Определение

Возвращает (или задает) окончательный размер отрисовки этого элемента.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

Значение свойства

Отрисовываемый размер этого элемента.The rendered size for this element.

Примеры

В следующем примере показано, как пользовательский декоративный элемент использует RenderSize значение для создания и изменения размера прямоугольника, определяющего декоративный элемент, в рамках его OnRender реализации.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

Комментарии

Важно!

Не пытайтесь задать это свойство в XAMLXAML или в коде при использовании системы макета уровня платформы WPF.Do not attempt to set this property, either in XAMLXAML or in code, if using the WPF framework-level layout system. Почти все типичные сценарии применения будут использовать эту систему макета.Nearly all typical application scenarios will use this layout system. Система макета не учитывает размеры, RenderSize заданные непосредственно в свойстве.The layout system will not respect sizes set in the RenderSize property directly. Свойство объявлено как доступное для записи, чтобы обеспечить определенные межуровневые варианты моста WPF, которые намеренно обойти стандартные протоколы макета, такие как поддержка Adorner класса. RenderSizeThe 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.

Это свойство можно использовать для проверки применимого размера отрисовки в рамках переопределений системы макета OnRender , GetLayoutClipтаких как или.This property can be used for checking the applicable render size within layout system overrides such as OnRender or GetLayoutClip.

Более распространенным сценарием является обработка SizeChanged события с переопределением обработчика класса OnRenderSizeChanged или событием.A more common scenario is handling the SizeChanged event with the class handler override or the OnRenderSizeChanged event.

Применяется к

Дополнительно