Assembly: PresentationCore (in PresentationCore.dll)
The defines a reference collections of package that are open and active in the application. Packages added to the are accessed is by their key URI value. The supports three common uses:
The application obtaining an instance of a Package given the package's URI.
Accessing packages that are created and stored in a MemoryStream.
To improve performance and minimize the overhead of repeated file open/close operations, the is used to manage instances of packages accessed by PackWebRequest and directly by the application. When accessing data in a package, the Package address of a requested PackagePart Uri is first checked to see if the package is already defined and open in the . If the package is defined as open in the , requested parts can be accessed directly without repeatedly opening and closing the package for each request.
If your application opens a package with Package.Open, AddPackage can be called to add the package to the . RemovePackage should later be called to remove the package from the prior to calling Package.Close.
XPS packages opened with an XpsDocument constructor are automatically added and removed from the when the document is created and disposed. (You do not need to call AddPackage or RemovePackage separately for XPS packages opened with XpsDocument constructors.)
The file I/O permissions of a package accessed through the remains the same as the I/O permissions set on the package when it is opened. The only provides references to the packages that have been added the store. It is up to the application to correctly open, update, and close each package.
Packages added to the can be accessed in multithreaded environments when they are used in combination with a XAML parser such as XamlReader.Load. When operating in a multithreaded environment, the application must lock the package before access.
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.