Assembly: PresentationCore (in presentationcore.dll)
The PackageStore defines a reference collections of package that are open and active in the application. Packages added to the PackageStore are accessed is by their key URI value. The PackageStore supports three common uses:
Accessing PackagePart data through PackWebRequest.
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 PackageStore 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 PackageStore. If the package is defined as open in the PackageStore, 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 PackageStore. RemovePackage should later be called to remove the package from the PackageStore prior to calling Package.Close.
XPS packages opened with an XpsDocument constructor are automatically added and removed from the PackageStore 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 PackageStore remains the same as the I/O permissions set on the package when it is opened. The PackageStore 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 PackageStore 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 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter EditionThe Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.