本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

UIElement.RenderSize 属性

 

获取(或设置,详见“备注”)此元素的最终呈现大小。

命名空间:   System.Windows
程序集:  PresentationCore(位于 PresentationCore.dll)

public Size RenderSize { get; set; }

属性值

Type: System.Windows.Size

此元素的呈现大小。

System_CAPS_important重要事项

不要尝试设置此属性,或者在 XAML 或在代码中,如果使用 WPF 框架级布局系统。 几乎所有典型的应用程序方案将使用此布局系统中。 布局系统都不会遵循大小设置为 RenderSize 属性直接。 RenderSize  属性声明为可写只是为了支持某些 WPF 核心级桥接有意回避典型布局协议,如支持的情况下 Adorner 类。

此属性可以用于检查在布局系统中的适用呈现大小将重写如 OnRenderGetLayoutClip

处理更通用的方案 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 起可用
返回页首
显示: