本文章是由機器翻譯。 將指標移到文章內的文字上方即可查看原文。 其他資訊。
譯文
原文
資訊
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.

Rect 結構

描述寬度、 高度和一個矩形的位置。

命名空間:  System.Windows
組件:  WindowsBase (在 WindowsBase.dll 中)
針對 XAML 的 XMLNS: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[SerializableAttribute]
[TypeConverterAttribute(typeof(RectConverter))]
public struct Rect : IFormattable
<object property="x,y,width,height"/>

XAML 值

x

System.Double

矩形的左下方的 x 座標位置。

y

System.Double

矩形上方的 y 座標位置。

寬度

System.Double

非負數值,表示Width的矩形。

高度

System.Double

非負數值,表示Height的矩形。

Rect 類型會公開下列成員。

  名稱描述
公用方法Rect(Size)初始化新的執行個體的Rect結構,是指定的大小,並位於 (0,0)。
公用方法Rect(Point, Point)初始化新的執行個體的Rect剛好足夠包含兩個指定的點的結構。
公用方法Rect(Point, Size)初始化新的執行個體的Rect結構包含指定的左上角位置,並指定的寬度和高度。
公用方法Rect(Point, Vector)初始化新的執行個體的Rect ,當時剛好足夠包含指定的點和指定的點和指定的向量的總和。
公用方法Rect(Double, Double, Double, Double)初始化新的執行個體的Rect結構包含指定的 x 座標、 y 座標、 寬度和高度。
回頁首

  名稱描述
公用屬性Bottom取得矩形底端的 y 軸值。
公用屬性BottomLeft取得矩形左下角的位置
公用屬性BottomRight取得矩形的右下角的位置。
公用屬性靜態成員Empty取得特殊值,這個值表示沒有位置或區域的矩形。
公用屬性Height取得或設定矩形的高度。
公用屬性IsEmpty取得值,這個值,指出矩形是否為Empty的矩形。
公用屬性Left取得矩形的左下方的 x 軸值。
公用屬性Location取得或設定矩形的左上角的位置。
公用屬性Right取得矩形右下方的 x 軸值。
公用屬性Size取得或設定矩形的高度與寬度。
公用屬性Top取得矩形頂端的 y 軸位置。
公用屬性TopLeft取得矩形的左上角位置。
公用屬性TopRight取得矩形右上角的位置。
公用屬性Width取得或設定矩形的寬度。
公用屬性X取得或設定矩形的左下方的 x 軸值。
公用屬性Y取得或設定矩形上方的 y 軸值。
回頁首

  名稱描述
公用方法Contains(Point)表示矩形是否包含指定的點。
公用方法Contains(Rect)表示矩形是否包含指定的矩形。
公用方法Contains(Double, Double)表示矩形是否包含指定的 x 座標和 y 座標。
公用方法Equals(Object)指示指定的物件是否等於目前矩形。 (覆寫 ValueType.Equals(Object)。)
公用方法Equals(Rect)指示指定的矩形是否等於目前矩形。
公用方法靜態成員Equals(Rect, Rect)指出指定的矩形是否相等。
公用方法GetHashCode建立矩形的雜湊程式碼。 (覆寫 ValueType.GetHashCode()。)
公用方法GetType取得目前執行個體的 Type (繼承自 Object)。
公用方法Inflate(Size)將矩形展開為使用指定的Size,往所有方向。
公用方法Inflate(Double, Double)展開或壓縮矩形藉由指定的寬度和高度數量往所有方向。
公用方法靜態成員Inflate(Rect, Size)傳回所產生自展開指定的矩形,以指定的矩形Size,往所有方向。
公用方法靜態成員Inflate(Rect, Double, Double)建立矩形而產生的展開或壓縮指定的矩形,以指定的寬度和高度數量,往所有方向。
公用方法Intersect(Rect)尋找目前矩形和指定的矩形的交集,並將結果儲存為目前的矩形。
公用方法靜態成員Intersect(Rect, Rect)傳回指定矩形的交集。
公用方法IntersectsWith指示指定的矩形是否與目前矩形交集。
公用方法Offset(Vector)依指定的向量移動矩形。
公用方法Offset(Double, Double)以指定的水平和垂直數量移動矩形。
公用方法靜態成員Offset(Rect, Vector)傳回從指定的矩形的矩形範圍開始偏移的使用指定的向量。
公用方法靜態成員Offset(Rect, Double, Double)傳回從指定的矩形的矩形範圍開始偏移的使用指定的水平和垂直數量。
公用方法靜態成員Parse從指定的字串表示建立新的矩形。
公用方法Scale目前矩形的大小乘以指定 x 和 y 值。
公用方法ToString()傳回矩形的字串表示。 (覆寫 ValueType.ToString()。)
公用方法ToString(IFormatProvider)使用指定的格式提供者會傳回矩形的字串表示。
公用方法Transform(Matrix)藉由套用指定的矩陣轉換矩形。
公用方法靜態成員Transform(Rect, Matrix)傳回的矩形而產生的將指定的矩陣套用至指定的矩形。
公用方法Union(Point)將目前矩形展開為剛好可以包含指定的點。
公用方法Union(Rect)將目前矩形展開為剛好可以包含指定的矩形。
公用方法靜態成員Union(Rect, Point)建立矩形,剛好可以包含指定的矩形和指定的點。
公用方法靜態成員Union(Rect, Rect)建立矩形,剛好可以包含兩個指定的矩形。
回頁首

  名稱描述
公用運算子靜態成員Equality比較兩個矩形完全相等。
公用運算子靜態成員Inequality比較兩個矩形不相等。
回頁首

  名稱描述
明確介面實作私用方法IFormattable.ToString格式化目前使用指定的格式的執行個體的值。
回頁首

下列範例會示範如何使用Rect結構,以指定維度和使用 XAML 的矩形的位置。


using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;

namespace SDKSample
{
    public partial class RectExample : Page
    {
        public RectExample()
        {   
            Path myPath1 = new Path();
            myPath1.Stroke = Brushes.Black;
            myPath1.StrokeThickness = 1;
            SolidColorBrush mySolidColorBrush = new SolidColorBrush();
            mySolidColorBrush.Color = Color.FromArgb(255, 204, 204, 255);
            myPath1.Fill = mySolidColorBrush;

            // Create the rectangle.
            // This RectangleGeometry specifies a rectangle that is 100 pixels high and
            // 150 wide. The left side of the rectangle is 10 pixels from the left of the 
            // Canvas and the top side of the rectangle is 100 pixels from the top of the Canvas.  
            // Note: You could alternatively use the Rect Constructor to create this:
            // Rect my Rect1 = new Rect(10,100,150,100");
            Rect myRect1 = new Rect();
            myRect1.X = 10;
            myRect1.Y = 100;
            myRect1.Width = 150;
            myRect1.Height = 100;
            RectangleGeometry myRectangleGeometry1 = new RectangleGeometry();
            myRectangleGeometry1.Rect = myRect1;

            GeometryGroup myGeometryGroup1 = new GeometryGroup();
            myGeometryGroup1.Children.Add(myRectangleGeometry1);

            myPath1.Data = myGeometryGroup1;

            Path myPath2 = new Path();
            myPath2.Stroke = Brushes.Black;
            myPath2.StrokeThickness = 1;
            myPath2.Fill = mySolidColorBrush;

            // Create the rectangle.
            // This Rect uses the Size property to specify a height of 50 and width
            // of 200. The Location property uses a Point value to determine the location of the
            // top-left corner of the rectangle.
            Rect myRect2 = new Rect();
            myRect2.Size = new Size(50, 200);
            myRect2.Location = new Point(300, 100);
            RectangleGeometry myRectangleGeometry2 = new RectangleGeometry();
            myRectangleGeometry2.Rect = myRect2;

            GeometryGroup myGeometryGroup2 = new GeometryGroup();
            myGeometryGroup2.Children.Add(myRectangleGeometry2);

            myPath2.Data = myGeometryGroup2;

            // Add path shape to the UI.
            Canvas myCanvas = new Canvas();
            myCanvas.Children.Add(myPath1);
            myCanvas.Children.Add(myPath2);
            this.Content = myCanvas;       
        }
    }

}



<Page  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Canvas>

    <!-- This rectangle demonstrates using the X, Y, Width, and Height properties
         of a Rect object. -->
    <Path Stroke="Black" StrokeThickness="1" Fill="LemonChiffon">
      <Path.Data>

        <!-- This RectangleGeometry specifies a rectangle that is 100 pixels high and
             150 wide. The left side of the rectangle is 10 pixels from the left of the 
             Canvas and the top side of the rectangle is 100 pixels from the top of the Canvas.  
             Note: An abbreviated syntax for creating an equivalent rectangle is:
             <RectangleGeometry Rect="10,100,150,100" /> -->
        <RectangleGeometry>
          <RectangleGeometry.Rect>
            <Rect X="10" Y="100" Width="150" Height="100" />
          </RectangleGeometry.Rect>
        </RectangleGeometry>
      </Path.Data>
    </Path>

    <!-- This rectangle demonstrates using the Size and Location properties of a Rect object. -->
    <Path Stroke="Black" StrokeThickness="1" Fill="LemonChiffon">
      <Path.Data>

        <!-- This RectangleGeometry uses the Size property to specify a height of 50 and width
             of 200. The Location property uses a Point value to determine the location of the
             top-left corner of the rectangle. /> -->
        <RectangleGeometry>
          <RectangleGeometry.Rect>
            <Rect Size="50,200" Location="300,100" />
          </RectangleGeometry.Rect>
        </RectangleGeometry>
      </Path.Data>
    </Path>
  </Canvas>
</Page>



下列範例會示範如何使用程式碼來建立矩形,並將其新增至網頁。 本範例也會示範如何尋找新矩形的大小和座標資訊,並呈現中的資訊TextBox下方的矩形。


// Create a rectangle and add it to the page. Also,
// find size and coordinate information about this
// new rectangle and render information in a TextBox 
// below the rectangle.
private StackPanel createRectExample1()
{
    // Initialize new rectangle.
    Rect myRectangle = new Rect();

    // The Location property specifies the coordinates of the upper left-hand 
    // corner of the rectangle. Set the Location property to an X coordinate of 10 and a
    // Y coordinate of 5. 
    myRectangle.Location = new Point(10, 5);

    // Set the Size property of the rectangle with a width of 200
    // and a height of 50.
    myRectangle.Size = new Size(200, 50);

    RectangleGeometry myRectangleGeometry = new RectangleGeometry();
    myRectangleGeometry.Rect = myRectangle;

    // This path is defined by the rectangle.
    Path myPath = new Path();
    myPath.Fill = Brushes.LemonChiffon;
    myPath.Stroke = Brushes.Black;
    myPath.StrokeThickness = 1;
    myPath.Data = myRectangleGeometry;

    //////////// Create string of rectangle property information /////////////
    // This string will contain all the size and coordinate property
    // information about the rectangle.
    /////////////////////////////////////////////////////////////////////////
    string rectInfo = "Rectangle Property Information: ";

    // Bottom property gets the y-axis value of the bottom of the rectangle. 
    // For this rectangle the value is 55.
    rectInfo = rectInfo + "Bottom: " + myRectangle.Bottom;

    // BottomLeft property gets the coordinates of the bottom left corner of the rectangle. 
    // For this rectangle the value is 10,55.
    rectInfo = rectInfo + "| BottomLeft: " + myRectangle.BottomLeft;

    // BottomRight property gets the coordinates of the bottom right corner of the rectangle. 
    // For this rectangle the value is 210,55.
    rectInfo = rectInfo + "| BottomRight: " + myRectangle.BottomRight;

    // Height property gets or sets the height of the rectangle. 
    // For this rectangle the value is 50.
    rectInfo = rectInfo + "| Height: " + myRectangle.Height;

    // Width property gets or sets the width of the rectangle. 
    // For this rectangle the value is 200.
    rectInfo = rectInfo + "| Width: " + myRectangle.Width;

    // Left property gets the x-axis position of the left side of the rectangle which is 
    // equivalent to getting the rectangle's X property. 
    // For this rectangle the value is 10.
    rectInfo = rectInfo + "| Left: " + myRectangle.Left;

    // Location property gets or sets the position of the rectangle's top-left corner.
    // For this rectangle the value is 10,5.
    rectInfo = rectInfo + "| Location: " + myRectangle.Location;

    // Right property gets the x-axis value of the right side of the rectangle. 
    // For this rectangle the value is 210.
    rectInfo = rectInfo + "| Right: " + myRectangle.Right;

    // Size property gets or sets the width and height of the rectangle.  
    // For this rectangle the value is 200,50.
    rectInfo = rectInfo + "| Size: " + myRectangle.Size;

    // Top property gets the y-axis position of the top of the rectangle which is 
    // equivalent to getting the rectangle's Y property.
    // For this rectangle the value is 5.
    rectInfo = rectInfo + "| Top: " + myRectangle.Top;

    // TopLeft property gets the position of the top-left corner of the rectangle, which 
    // is equivalent to (X, Y).   
    // For this rectangle the value is 10,5.
    rectInfo = rectInfo + "| TopLeft: " + myRectangle.TopLeft;

    // TopRight property gets the position of the top-left corner of the rectangle, which 
    // is equivalent to (X + Width, Y).   
    // For this rectangle the value is 210,5.
    rectInfo = rectInfo + "| TopRight: " + myRectangle.TopRight;

    // X property gets or sets the location of the rectangle's left side.  
    // For this rectangle the value is 10.
    rectInfo = rectInfo + "| X: " + myRectangle.X;

    // Y property gets or sets the location of the rectangle's top side.  
    // For this rectangle the value is 5.
    rectInfo = rectInfo + "| Y: " + myRectangle.Y;

    //////// End of creating string containing rectangle property information ////////

    // This StackPanel will contain the rectangle and TextBlock.
    StackPanel parentPanel = new StackPanel();

    // Add the rectangle path to the StackPanel. This will display the rectangle.
    parentPanel.Children.Add(myPath);

    // Add a TextBlock to display the rectangle's size and coordinate information.
    TextBlock myTextBlock = new TextBlock();
    myTextBlock.Text = rectInfo;
    parentPanel.Children.Add(myTextBlock);

    // Return the parent container to be displayed to the screen.
    return parentPanel;
}


.NET Framework

支援版本:4.5、4、3.5、3.0

.NET Framework Client Profile

支援版本:4、3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (不支援伺服器核心角色), Windows Server 2008 R2 (SP1 (含) 以後版本支援伺服器核心角色,不支援 Itanium)

此.NET Framework 並不支援各種平台的所有版本。如需支援版本的清單,請參閱.NET Framework 系統需求.

這個類型的任何 Publicstatic (在 Visual Basic 中為 Shared) 成員都是安全執行緒。不保證任何執行個體成員是安全執行緒。

社群新增項目

顯示:
© 2015 Microsoft