# Vector Structure

**.NET Framework (current version)**

Note |
---|

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience. |

Represents a displacement in 2-D space.

**Namespace:**System.Windows

**Assembly:**WindowsBase (in WindowsBase.dll)

Name | Description | |
---|---|---|

Vector(Double, Double) | Initializes a new instance of the Vector structure. |

Name | Description | |
---|---|---|

Add(Vector, Point) | Translates the specified point by the specified vector and returns the resulting point. | |

Add(Vector, Vector) | Adds two vectors and returns the result as a Vector structure. | |

AngleBetween(Vector, Vector) | Retrieves the angle, expressed in degrees, between the two specified vectors. | |

CrossProduct(Vector, Vector) | Calculates the cross product of two vectors. | |

Determinant(Vector, Vector) | Calculates the determinant of two vectors. | |

Divide(Vector, Double) | Divides the specified vector by the specified scalar and returns the result as a Vector. | |

Equals(Object) | Determines whether the specified Object is a Vector structure and, if it is, whether it has the same X and Y values as this vector.(Overrides ValueType.Equals(Object).) | |

Equals(Vector) | Compares two vectors for equality. | |

Equals(Vector, Vector) | Compares the two specified vectors for equality. | |

GetHashCode() | Returns the hash code for this vector. (Overrides ValueType.GetHashCode().) | |

GetType() | ||

Multiply(Double, Vector) | Multiplies the specified scalar by the specified vector and returns the resulting Vector. | |

Multiply(Vector, Double) | Multiplies the specified vector by the specified scalar and returns the resulting Vector. | |

Multiply(Vector, Matrix) | Transforms the coordinate space of the specified vector using the specified Matrix. | |

Multiply(Vector, Vector) | Calculates the dot product of the two specified vectors and returns the result as a Double. | |

Negate() | Negates this vector. The vector has the same magnitude as before, but its direction is now opposite. | |

Normalize() | Normalizes this vector. | |

Parse(String) | Converts a string representation of a vector into the equivalent Vector structure. | |

Subtract(Vector, Vector) | Subtracts the specified vector from another specified vector. | |

ToString() | Returns the string representation of this Vector structure.(Overrides ValueType.ToString().) | |

ToString(IFormatProvider) | Returns the string representation of this Vector structure with the specified formatting information. |

Name | Description | |
---|---|---|

Addition(Vector, Point) | Translates a point by the specified vector and returns the resulting point. | |

Addition(Vector, Vector) | Adds two vectors and returns the result as a vector. | |

Division(Vector, Double) | Divides the specified vector by the specified scalar and returns the resulting vector. | |

Equality(Vector, Vector) | Compares two vectors for equality. | |

Explicit(Vector to Point) | ||

Explicit(Vector to Size) | Creates a Size from the offsets of this vector. | |

Inequality(Vector, Vector) | Compares two vectors for inequality. | |

Multiply(Double, Vector) | Multiplies the specified scalar by the specified vector and returns the resulting vector. | |

Multiply(Vector, Double) | Multiplies the specified vector by the specified scalar and returns the resulting vector. | |

Multiply(Vector, Matrix) | Transforms the coordinate space of the specified vector using the specified Matrix. | |

Multiply(Vector, Vector) | Calculates the dot product of the two specified vector structures and returns the result as a Double. | |

Subtraction(Vector, Vector) | Subtracts one specified vector from another. | |

UnaryNegation(Vector) | Negates the specified vector. |

Name | Description | |
---|---|---|

IFormattable.ToString(String, IFormatProvider) | This member supports the Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code. For a description of this member, see ToString. |

A Point represents a fixed position, but a Vector represents a direction and a magnitude (for example, velocity or acceleration). Thus, the endpoints of a line segment are points but their difference is a vector; that is, the direction and length of that line segment.

In XAML, the delimiter between the X and Y values of a Vector can be either a comma or a space.

Some cultures might use the comma character as the decimal delimiter instead of the period character. XAML processing for invariant culture defaults to en-US in most XAML processor implementations, and expects the period to be the decimal delimiter. You should avoid using the comma character as the decimal delimiter if specifying a Vector in XAML, because that will clash with the string type conversion of a Vector attribute value into the X and Y components.

<object property="x,y"/> -or- <object property="x y"/>

The following example shows how to add two Vector structures.

**.NET Framework**

Available since 3.0

Any public static (
**Shared**
in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.