資訊
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

UIElement.DesiredSize 屬性

更新:2007 年 11 月

取得這個項目在配置處理序的測量傳遞期間所計算的大小。

命名空間:  System.Windows
組件:  PresentationCore (在 PresentationCore.dll 中)

public Size DesiredSize { get; }
/** @property */
public Size get_DesiredSize()

public function get DesiredSize () : Size

您無法在 XAML 中設定這個屬性。

屬性值

型別:System.Windows.Size

計算的大小,其會成為排列傳遞的所需大小。

只有當 IsMeasureValid 屬性值為 true 時,這個屬性所傳回的值才會是有效度量。

當您實作如 ArrangeOverrideMeasureOverrideOnRender 等配置行為覆寫時,DesiredSize 通常會核取為其中一個度量因素。視案例而定,您的實作邏輯可能會完全遵守 DesiredSize,且可能套用 DesiredSize 上的條件約束,而這類條件約束也可能變更父項目或子項目的其他特性。例如,支援可捲動區域的控制項 (但選擇不要衍生自已經啟用可捲動區域的 WPF 架構層級控制項) 可將可用大小與 DesiredSize 比較。然後,控制項可設定內部狀態,以在 UI 中為該控制項設定捲軸。或者,也可能在特定案例中忽略 DesiredSize

下列範例示範自訂裝飾項如何使用 DesiredSize 值,以便建立定義裝飾項的矩形圖形並調整大小,當做其 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);
}


Windows Vista

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱.NET Framework 系統需求

.NET Framework

支援版本:3.5、3.0

社群新增項目

顯示:
© 2015 Microsoft