WPF アプリケーションの DocumentViewer オブジェクトに .xps ドキュメントを読み込もうとしています。リソース付きの .xps ドキュメントを読み込もうとした場合を除いて、すべて正常に動作します。絶対パスを使用すると .xps ドキュメントを正常にロードできますが、リソース ドキュメントをロードしようとすると、「DirectoryNotFoundException」がスローされます。
ドキュメントをロードするコードの例を次に示します。
using System.Windows.Xps.Packaging;
private void Window_Loaded(object sender, RoutedEventArgs e)
{
//Absolute Path works (below)
//var xpsDocument = new XpsDocument(@"C:\Users\..\Visual Studio 2008\Projects\MyProject\MyProject\Docs\MyDocument.xps", FileAccess.Read);
//Resource Path doesn't work (below)
var xpsDocument = new XpsDocument(@"\MyProject;component/Docs/Mydocument.xps", FileAccess.Read);
DocumentViewer.Document = xpsDocument.GetFixedDocumentSequence();
}
DirectoryNotFoundException がスローされると、「パスの一部が見つかりませんでした: 'C:\MyProject;component\Docs\MyDocument.xps'」と表示されます。
コンピューター上の実際のパスであるかのように、そのパスから .xps ドキュメントを取得しようとしているように見えますが、アプリケーション内にリソースとして保存されている .xps から取得しようとしているわけではありません。