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; }
You cannot set this property in XAML.

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.");


Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

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

.NET Framework

Supported in: 3.5, 3.0