Export (0) Print
Expand All

Rect.Location Property

Gets or sets the position of the top-left corner of the rectangle.

Namespace:  System.Windows
Assembly:  WindowsBase (in WindowsBase.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

'Declaration
Public Property Location As Point
<object>
  <object.Location>
    <Point .../>
  </object.Location>
</object>
<object Location="Point" .../>

Property Value

Type: System.Windows.Point
The position of the top-left corner of the rectangle. The default is (0, 0).

ExceptionCondition
InvalidOperationException

Location is set on an Empty rectangle.

The position of the top-left corner of the rectangle is equal to (X, Y).

The following example shows how to use a Rect structure to specify the dimensions and location of a rectangle using XAML.


Imports System
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>

The following example shows how to use code to create a rectangle and add it to the page. 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;
}

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft