Rect Struktura
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Opisuje szerokość, wysokość i lokalizację prostokąta.
public value class Rect : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.RectConverter))]
[System.Serializable]
public struct Rect : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.RectConverter))]
public struct Rect : IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.RectConverter))>]
[<System.Serializable>]
type Rect = struct
interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.RectConverter))>]
type Rect = struct
interface IFormattable
Public Structure Rect
Implements IFormattable
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
W poniższym przykładzie pokazano, jak za Rect pomocą struktury określić wymiary i lokalizację prostokąta przy użyciu języka 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>
W poniższym przykładzie pokazano, jak za pomocą kodu utworzyć prostokąt i dodać go do strony. W przykładzie pokazano również, jak znaleźć informacje o rozmiarze i współrzędnych dotyczące nowego prostokąta i renderować informacje w poniższym TextBox prostokącie.
// 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 XAML
<object property="x,y,width,height"/>
Wartości XAML
Położenie współrzędnych x lewej strony prostokąta.
Współrzędna y w górnej części prostokąta.
width
System.Double
Wartość nieujemna reprezentująca Width prostokąt.
height
System.Double
Wartość nieujemna reprezentująca Height prostokąt.
Konstruktory
Rect(Double, Double, Double, Double) |
Inicjuje Rect nowe wystąpienie struktury, która ma określoną współrzędną x, współrzędną y, szerokość i wysokość. |
Rect(Point, Point) |
Inicjuje Rect nowe wystąpienie struktury, która jest wystarczająco duża, aby zawierała dwa określone punkty. |
Rect(Point, Size) |
Inicjuje nowe wystąpienie Rect struktury, która ma określoną lokalizację lewego górnego rogu oraz określoną szerokość i wysokość. |
Rect(Point, Vector) |
Inicjuje nowe wystąpienie Rect struktury, która jest wystarczająco duża, aby zawierać określony punkt i sumę określonego punktu i określonego wektora. |
Rect(Size) |
Inicjuje Rect nowe wystąpienie struktury o określonym rozmiarze i znajduje się w lokalizacji (0,0). |
Właściwości
Bottom |
Pobiera wartość osi y w dolnej części prostokąta. |
BottomLeft |
Pobiera położenie lewego dolnego rogu prostokąta. |
BottomRight |
Pobiera położenie prawego dolnego rogu prostokąta. |
Empty |
Pobiera specjalną wartość reprezentującą prostokąt bez położenia lub obszaru. |
Height |
Pobiera lub ustawia wysokość prostokąta. |
IsEmpty |
Pobiera wartość wskazującą, czy prostokąt jest prostokątem Empty . |
Left |
Pobiera wartość osi x lewej strony prostokąta. |
Location |
Pobiera lub ustawia położenie lewego górnego rogu prostokąta. |
Right |
Pobiera wartość osi x po prawej stronie prostokąta. |
Size |
Pobiera lub ustawia szerokość i wysokość prostokąta. |
Top |
Pobiera położenie osi y u góry prostokąta. |
TopLeft |
Pobiera położenie lewego górnego rogu prostokąta. |
TopRight |
Pobiera położenie prawego górnego rogu prostokąta. |
Width |
Pobiera lub ustawia szerokość prostokąta. |
X |
Pobiera lub ustawia wartość osi x lewej strony prostokąta. |
Y |
Pobiera lub ustawia wartość osi y u góry prostokąta. |
Metody
Contains(Double, Double) |
Wskazuje, czy prostokąt zawiera określoną współrzędną x i współrzędną y. |
Contains(Point) |
Wskazuje, czy prostokąt zawiera określony punkt. |
Contains(Rect) |
Wskazuje, czy prostokąt zawiera określony prostokąt. |
Equals(Object) |
Wskazuje, czy określony obiekt jest równy bieżącemu prostokątowi. |
Equals(Rect) |
Wskazuje, czy określony prostokąt jest równy bieżącemu prostokątowi. |
Equals(Rect, Rect) |
Wskazuje, czy określone prostokąty są równe. |
GetHashCode() |
Tworzy kod skrótu dla prostokąta. |
Inflate(Double, Double) |
Rozszerza lub zmniejsza prostokąt przy użyciu określonej szerokości i wysokości we wszystkich kierunkach. |
Inflate(Rect, Double, Double) |
Tworzy prostokąt, który wynika z rozszerzania lub zmniejszania określonego prostokąta według określonej szerokości i wysokości we wszystkich kierunkach. |
Inflate(Rect, Size) |
Zwraca prostokąt, który wynika z rozszerzenia określonego prostokąta przez określony Sizeelement , we wszystkich kierunkach. |
Inflate(Size) |
Rozszerza prostokąt przy użyciu określonego Sizeelementu , we wszystkich kierunkach. |
Intersect(Rect) |
Znajduje przecięcie bieżącego prostokąta i określonego prostokąta oraz przechowuje wynik jako bieżący prostokąt. |
Intersect(Rect, Rect) |
Zwraca przecięcie określonych prostokątów. |
IntersectsWith(Rect) |
Wskazuje, czy określony prostokąt przecina się z bieżącym prostokątem. |
Offset(Double, Double) |
Przenosi prostokąt według określonych poziomych i pionowych kwot. |
Offset(Rect, Double, Double) |
Zwraca prostokąt, który jest przesunięty z określonego prostokąta przy użyciu określonych kwot poziomych i pionowych. |
Offset(Rect, Vector) |
Zwraca prostokąt, który jest przesunięty z określonego prostokąta przy użyciu określonego wektora. |
Offset(Vector) |
Przenosi prostokąt według określonego wektora. |
Parse(String) |
Tworzy nowy prostokąt na podstawie określonej reprezentacji ciągu. |
Scale(Double, Double) |
Mnoży rozmiar bieżącego prostokąta przez określone wartości x i y. |
ToString() |
Zwraca reprezentację ciągu prostokąta. |
ToString(IFormatProvider) |
Zwraca reprezentację ciągu prostokąta przy użyciu określonego dostawcy formatu. |
Transform(Matrix) |
Przekształca prostokąt, stosując określoną macierz. |
Transform(Rect, Matrix) |
Zwraca prostokąt wynikający z zastosowania określonej macierzy do określonego prostokąta. |
Union(Point) |
Rozwija bieżący prostokąt dokładnie na tyle, aby zawierał określony punkt. |
Union(Rect) |
Rozwija bieżący prostokąt dokładnie na tyle, aby zawierał określony prostokąt. |
Union(Rect, Point) |
Tworzy prostokąt, który jest wystarczająco duży, aby uwzględnić określony prostokąt i określony punkt. |
Union(Rect, Rect) |
Tworzy prostokąt, który jest dokładnie wystarczająco duży, aby zawierał dwa określone prostokąty. |
Operatory
Equality(Rect, Rect) |
Porównuje dwa prostokąty pod kątem dokładnej równości. |
Inequality(Rect, Rect) |
Porównuje dwa prostokąty pod kątem nierówności. |
Jawne implementacje interfejsu
IFormattable.ToString(String, IFormatProvider) |
Formatuje wartość bieżącego wystąpienia przy użyciu określonego formatu. |