Rect Struktura

Definicja

Opisuje szerokość, Wysokość i położenie prostokąta.Describes the width, height, and location of a rectangle.

public value class Rect : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.RectConverter))]
[System.Serializable]
public struct Rect : IFormattable
type Rect = struct
    interface IFormattable
Public Structure Rect
Implements IFormattable
Dziedziczenie
Atrybuty
Implementuje

Przykłady

Poniższy przykład pokazuje, jak używać struktury Rect, aby określić wymiary i lokalizację prostokąta przy użyciu języka XAML.The following example shows how to use a Rect structure to specify the dimensions and location of a rectangle using 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;       
        }
    }

}

Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Media
Imports System.Windows.Shapes

Namespace SDKSample
    Partial Public Class RectExample
        Inherits Page
        Public Sub New()
            Dim myPath1 As New Path()
            myPath1.Stroke = Brushes.Black
            myPath1.StrokeThickness = 1
            Dim mySolidColorBrush As 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:
            ' Dim myRect1 As New Rect(10,100,150,100")
            Dim myRect1 As New Rect()
            myRect1.X = 10
            myRect1.Y = 100
            myRect1.Width = 150
            myRect1.Height = 100
            Dim myRectangleGeometry1 As New RectangleGeometry()
            myRectangleGeometry1.Rect = myRect1

            Dim myGeometryGroup1 As New GeometryGroup()
            myGeometryGroup1.Children.Add(myRectangleGeometry1)

            myPath1.Data = myGeometryGroup1

            Dim myPath2 As 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.
            Dim myRect2 As New Rect()
            myRect2.Size = New Size(50, 200)
            myRect2.Location = New Point(300, 100)
            Dim myRectangleGeometry2 As New RectangleGeometry()
            myRectangleGeometry2.Rect = myRect2

            Dim myGeometryGroup2 As New GeometryGroup()
            myGeometryGroup2.Children.Add(myRectangleGeometry2)

            myPath2.Data = myGeometryGroup2

            ' Add path shape to the UI.
            Dim myCanvas As New Canvas()
            myCanvas.Children.Add(myPath1)
            myCanvas.Children.Add(myPath2)
            Me.Content = myCanvas
        End Sub
    End Class

End Namespace
<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>

Poniższy przykład pokazuje, jak za pomocą kodu utworzyć prostokąt i dodać go do strony.The following example shows how to use code to create a rectangle and add it to the page. W przykładzie pokazano również, jak znaleźć informacje o rozmiarze i koordynacji dla nowego prostokąta i renderować informacje w TextBox pod prostokątem.The example also illustrates how to find size and coordinate information about the new rectangle and render the information in a TextBox below the rectangle.

// 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;
}

Uwagi

Użycie atrybutu języka XAMLXAML Attribute Usage

<object property="x,y,width,height"/>  

Wartości XAMLXAML Values

yx
System.Double

Lokalizacja współrzędnej x lewej krawędzi prostokąta.The x-coordinate location of the left side of the rectangle.

ty
System.Double

Lokalizacja współrzędnej y górnej krawędzi prostokąta.The y-coordinate location of the top side of the rectangle.

Szerokośćwidth
System.Double

Nieujemna wartość, która reprezentuje Width prostokąta.A non-negative value that represents the Width of the rectangle.

proporcjheight
System.Double

Nieujemna wartość, która reprezentuje Height prostokąta.A non-negative value that represents the Height of the rectangle.

Konstruktory

Rect(Double, Double, Double, Double)

Inicjuje nowe wystąpienie struktury Rect, która ma określoną współrzędne x, Współrzędne y, Szerokość i wysokość.Initializes a new instance of the Rect structure that has the specified x-coordinate, y-coordinate, width, and height.

Rect(Point, Point)

Inicjuje nowe wystąpienie struktury Rect, która jest wystarczająco duża, aby zawierała dwa określone punkty.Initializes a new instance of the Rect structure that is exactly large enough to contain the two specified points.

Rect(Point, Size)

Inicjuje nowe wystąpienie struktury Rect, która ma określoną górną lokalizację kursora i określoną szerokość i wysokość.Initializes a new instance of the Rect structure that has the specified top-left corner location and the specified width and height.

Rect(Point, Vector)

Inicjuje nowe wystąpienie struktury Rect, które jest wystarczająco duże, aby zawierało określony punkt oraz sumę określonego punktu i określonego wektora.Initializes a new instance of the Rect structure that is exactly large enough to contain the specified point and the sum of the specified point and the specified vector.

Rect(Size)

Inicjuje nowe wystąpienie struktury Rect o określonym rozmiarze i znajduje się w lokalizacji (0, 0).Initializes a new instance of the Rect structure that is of the specified size and is located at (0,0).

Właściwości

Bottom

Pobiera wartość osi y dolnego prostokąta.Gets the y-axis value of the bottom of the rectangle.

BottomLeft

Pobiera pozycję lewego dolnego rogu prostokąta.Gets the position of the bottom-left corner of the rectangle.

BottomRight

Pobiera pozycję prawego dolnego rogu prostokąta.Gets the position of the bottom-right corner of the rectangle.

Empty

Pobiera specjalną wartość, która reprezentuje prostokąt bez pozycji ani obszaru.Gets a special value that represents a rectangle with no position or area.

Height

Pobiera lub ustawia wysokość prostokąta.Gets or sets the height of the rectangle.

IsEmpty

Pobiera wartość wskazującą, czy prostokąt jest prostokątem Empty.Gets a value that indicates whether the rectangle is the Empty rectangle.

Left

Pobiera wartość osi x lewej krawędzi prostokąta.Gets the x-axis value of the left side of the rectangle.

Location

Pobiera lub ustawia pozycję lewego górnego rogu prostokąta.Gets or sets the position of the top-left corner of the rectangle.

Right

Pobiera wartość osi x po prawej stronie prostokąta.Gets the x-axis value of the right side of the rectangle.

Size

Pobiera lub ustawia szerokość i wysokość prostokąta.Gets or sets the width and height of the rectangle.

Top

Pobiera pozycję osi y górnej krawędzi prostokąta.Gets the y-axis position of the top of the rectangle.

TopLeft

Pobiera pozycję lewego górnego rogu prostokąta.Gets the position of the top-left corner of the rectangle.

TopRight

Pobiera pozycję prawego górnego rogu prostokąta.Gets the position of the top-right corner of the rectangle.

Width

Pobiera lub ustawia szerokość prostokąta.Gets or sets the width of the rectangle.

X

Pobiera lub ustawia wartość osi x lewej strony prostokąta.Gets or sets the x-axis value of the left side of the rectangle.

Y

Pobiera lub ustawia wartość osi y górnej krawędzi prostokąta.Gets or sets the y-axis value of the top side of the rectangle.

Metody

Contains(Double, Double)

Wskazuje, czy prostokąt zawiera współrzędne x i Współrzędne y.Indicates whether the rectangle contains the specified x-coordinate and y-coordinate.

Contains(Point)

Wskazuje, czy prostokąt zawiera określony punkt.Indicates whether the rectangle contains the specified point.

Contains(Rect)

Wskazuje, czy prostokąt zawiera określony prostokąt.Indicates whether the rectangle contains the specified rectangle.

Equals(Object)

Wskazuje, czy określony obiekt jest równy bieżącemu prostokątowi.Indicates whether the specified object is equal to the current rectangle.

Equals(Rect)

Wskazuje, czy określony prostokąt jest równy bieżącemu prostokątowi.Indicates whether the specified rectangle is equal to the current rectangle.

Equals(Rect, Rect)

Wskazuje, czy określone prostokąty są równe.Indicates whether the specified rectangles are equal.

GetHashCode()

Tworzy kod skrótu dla prostokąta.Creates a hash code for the rectangle.

Inflate(Double, Double)

Rozwija lub zmniejsza prostokąt przy użyciu określonej wartości szerokości i wysokości we wszystkich kierunkach.Expands or shrinks the rectangle by using the specified width and height amounts, in all directions.

Inflate(Rect, Double, Double)

Tworzy prostokąt, który jest wynikiem rozwinięcia lub zmniejszenia określonego prostokąta o określoną szerokość i wysokość, we wszystkich kierunkach.Creates a rectangle that results from expanding or shrinking the specified rectangle by the specified width and height amounts, in all directions.

Inflate(Rect, Size)

Zwraca prostokąt, który jest wynikiem rozwinięcia określonego prostokąta przez określoną Size we wszystkich kierunkach.Returns the rectangle that results from expanding the specified rectangle by the specified Size, in all directions.

Inflate(Size)

Rozwija prostokąt przy użyciu określonego Size we wszystkich kierunkach.Expands the rectangle by using the specified Size, in all directions.

Intersect(Rect)

Znajduje część wspólną bieżącego prostokąta i określonego prostokąta oraz zapisuje wynik jako bieżący prostokąt.Finds the intersection of the current rectangle and the specified rectangle, and stores the result as the current rectangle.

Intersect(Rect, Rect)

Zwraca przecięcie określonych prostokątów.Returns the intersection of the specified rectangles.

IntersectsWith(Rect)

Wskazuje, czy określony prostokąt przecina się z bieżącym prostokątem.Indicates whether the specified rectangle intersects with the current rectangle.

Offset(Double, Double)

Przenosi prostokąt o określoną ilość poziomą i pionową.Moves the rectangle by the specified horizontal and vertical amounts.

Offset(Rect, Double, Double)

Zwraca prostokąt przesunięty od określonego prostokąta przy użyciu określonych wartości w poziomie i w pionie.Returns a rectangle that is offset from the specified rectangle by using the specified horizontal and vertical amounts.

Offset(Rect, Vector)

Zwraca prostokąt, który jest przesunięty od określonego prostokąta przy użyciu określonego wektora.Returns a rectangle that is offset from the specified rectangle by using the specified vector.

Offset(Vector)

Przenosi prostokąt według określonego wektora.Moves the rectangle by the specified vector.

Parse(String)

Tworzy nowy prostokąt na podstawie podanej reprezentacji w postaci ciągu.Creates a new rectangle from the specified string representation.

Scale(Double, Double)

Mnoży rozmiar bieżącego prostokąta przez określone wartości x i y.Multiplies the size of the current rectangle by the specified x and y values.

ToString()

Zwraca ciąg reprezentujący prostokąt.Returns a string representation of the rectangle.

ToString(IFormatProvider)

Zwraca ciąg reprezentujący prostokąt przy użyciu określonego dostawcy formatu.Returns a string representation of the rectangle by using the specified format provider.

Transform(Matrix)

Przekształca prostokąt, stosując określoną macierz.Transforms the rectangle by applying the specified matrix.

Transform(Rect, Matrix)

Zwraca prostokąt, który jest wynikiem zastosowania określonej macierzy do określonego prostokąta.Returns the rectangle that results from applying the specified matrix to the specified rectangle.

Union(Point)

Rozwija bieżący prostokąt wystarczająco dokładnie, aby zawierał określony punkt.Expands the current rectangle exactly enough to contain the specified point.

Union(Rect)

Rozwija bieżący prostokąt wystarczająco dokładnie, aby zawierał określony prostokąt.Expands the current rectangle exactly enough to contain the specified rectangle.

Union(Rect, Point)

Tworzy prostokąt, który jest wystarczająco duży, aby obejmował określony prostokąt i określony punkt.Creates a rectangle that is exactly large enough to include the specified rectangle and the specified point.

Union(Rect, Rect)

Tworzy prostokąt, który jest wystarczająco duży, aby zawierał dwa określone prostokąty.Creates a rectangle that is exactly large enough to contain the two specified rectangles.

Operatory

Equality(Rect, Rect)

Porównuje dwa prostokąty pod kątem dokładnego równości.Compares two rectangles for exact equality.

Inequality(Rect, Rect)

Porównuje dwa prostokąty pod kątem nierówności.Compares two rectangles for inequality.

Jawne implementacje interfejsu

IFormattable.ToString(String, IFormatProvider)

Formatuje wartość bieżącego wystąpienia w określonym formacie.Formats the value of the current instance using the specified format.

Dotyczy