This documentation is archived and is not being maintained.

Package.GetParts Method

Returns a collection of all the parts in the package.

Namespace:  System.IO.Packaging
Assembly:  WindowsBase (in WindowsBase.dll)

public PackagePartCollection GetParts()
You cannot use methods in XAML.

Return Value

Type: System.IO.Packaging.PackagePartCollection
A collection of all the PackagePart elements that are contained in the package.


The package is not open (Dispose or Close has been called).


The package is write-only.

GetParts returns a collection of all parts that are contained in the package including PackageRelationship parts.

GetParts will never return null; however, the returned collection will contain zero elements if the package contains no parts.

By default, a ZipPackage derived implementation of the abstract Package base class is provided and used. In the default operation, GetParts calls the GetPartsCore method of the ZipPackage class to return the parts from a ZIP file.

For more information about packages and package parts, see section 1.1 of the Open Packaging Conventions (OPC) specification available for download at

Notes to Inheritors:

GetParts internally calls the derived class GetPartsCore method to actually flush the part based on the physical format implemented in the derived class.

The following example shows how to use the GetParts method to obtain a collection of the parts that are contained in a Package. For the complete program source code, see Creating a Package with a Digital Signature Sample.

// Create a list of all the part URIs in the package to sign 
// (GetParts() also includes PackageRelationship parts).
System.Collections.Generic.List<Uri> toSign =
    new System.Collections.Generic.List<Uri>();
foreach (PackagePart packagePart in package.GetParts())
    // Add all package parts to the list for signing.

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