This documentation is archived and is not being maintained.

Matrix.HasInverse Property

Gets a value that indicates whether this Matrix structure is invertible.

Namespace:  System.Windows.Media
Assembly:  WindowsBase (in WindowsBase.dll)

public bool HasInverse { get; }

Property Value

Type: System.Boolean
true if the Matrix has an inverse; otherwise, false. The default is true.

The following example checks whether a Matrix is invertible. If it is invertible, the Matrix is inverted.

private Matrix inverseExample()

    // Creating a Matrix structure.
    Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);

    // Checking if myMatrix is invertible.
    if (myMatrix.HasInverse)

        // Invert myMatrix. myMatrix is now 
        // equal to (-0.4, 0.2 , 0.3, -0.1, 1, -2) 

        // Return the inverted matrix.
        return myMatrix;
        throw new InvalidOperationException("The matrix is not invertible.");


.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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