Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Свойство UIElement.RenderSize

 

Опубликовано: Октябрь 2016

Возвращает (или задает, см. раздел "Примечания") окончательный размер отрисовки этого элемента.

Пространство имен:   System.Windows
Сборка:  PresentationCore (в PresentationCore.dll)

public Size RenderSize { get; set; }

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

Type: System.Windows.Size

Отрисовываемый размер этого элемента.

System_CAPS_importantВажно

Не пытайтесь задать это свойство в XAML или в коде, если используется система макета уровня платформы WPF. Эта система структуры используется почти всех типичных сценариях приложений. Система макета не будут использовать размеры в RenderSize свойство напрямую. RenderSize  Для записи только для включения определенных мост вариантов, которые намеренно обойти типичное расположение протоколов, таких как поддержка на уровне ядра WPF объявлено свойство Adorner класса.

Это свойство может использоваться для проверки, такие как переопределяет размер применимые отрисовки в системе с макетом OnRender или GetLayoutClip.

Обработка распространенный сценарий SizeChanged переопределить событие с обработчиком класс или OnRenderSizeChanged события.

В следующем примере показано, как используется пользовательский графический элемент 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);
}

.NET Framework
Доступно с 3.0
Silverlight
Доступно с 2.0
Windows Phone Silverlight
Доступно с 7.0
Вернуться в начало
Показ: