Silverlight アプリケーションと SaveFileDialog に問題があります。基本的に、ファイルを保存したいユーザーパスとファイル名を取得するために SaveFileDialog を使用しています。次に、そのパスを他のアプリケーションの API に渡します (私は Silverlight 5 を Elevated Trust モードで使用しています)。これはファイルを作成します。
ユーザーが IE8 を保護モードで使用すると問題が発生します。
SaveFileDialog.SafeFileName は、パスではなくファイルの名前のみを返します。FileInfo でそのパスを取得しようとすると、ユーザーが選択したものに関係なく、常にデスクトップになります。
SaveFileDialog.OpenFileからのストリームを使用してファイルに1バイトだけ書き込むなど、さまざまなアプローチを試しました-成功しませんでした
リフレクションを使用して SaveFileDialog.File.DirectoryName のプライベート メンバーにアクセスしようとしました - プロパティは [SecurityCritical] とマークされているため、アクセスできません...
これを実現するために、js を使用してネイティブ ブラウザーの保存ダイアログを呼び出すことを計画していますが、Silverlight ダイアログと異なるかどうかはわかりません。
この問題に関して、私よりも賢く経験豊富な人はいますか? :)
ありがとう