ドキュメントを管理する WinRT Metro アプリ (XAML/C#、Windows リリース プレビュー) があります。ドキュメントはメモリ内で表現され、Web サービスを介して取得されますが、物理的にディスクに保存されることはありません。
アプリを改善するために、FileSavePicker コントラクトを実装したいと考えました。したがって、他のアプリはドキュメントを私のアプリに直接保存できます。しかし、メモリ内のファイル保存ピッカーからアプリにコンテンツを取得することはできないようです。FileSavePickerActivatedEventArgs.FileSavePickerUI.TargetFileRequested
ユーザーがファイルをアプリに保存したいときに発生するイベントに、イベント ハンドラーをアタッチしました。しかし、ここでは and に設定TargetFileRequestedEventArgs.Request.TargetFile
する必要がStorageFile
あり、メモリ内にあり、まだファイルを持っていないため、このアクションは失敗します。
さらに (たとえ StorageFile があったとしても) ファイル保存プロセスの完了に対応する必要があり、これを処理するために使用できるメソッド/イベントがないようです。
Microsoft がファイル セーブ ピッカー コントラクトにこの API を使用することにした理由がわかりません。保存されたデータ/ファイルをパラメーター/ストリームとして取得できず、やりたいことができないのはなぜですか? この場合、サンドボックス化/セキュリティが理由になることはありません!
編集:SDK のファイル ピッカー コントラクト サンプル アプリを見て確認しましたが、物理的な StorageFile にしか保存されないため、役に立ちません。