Open/SaveFileDialogs を開くことができる WPF アプリケーションを作成しました。私の PC では、そのようなダイアログを最後に使用したときのディレクトリを記憶し、別のそのようなダイアログを開くと、そのディレクトリが初期ディレクトリとして設定されます。しかし、同僚の PC では覚えていません。
私が使用する正確なクラスはMicrosoft.Win32.OpenFileDialog
. どちらもWinXPをインストールしています。
何が原因でしょうか?
更新: どうやらこの問題はまだ解決されていません。私のPCでも発生することがわかりました。複数のファイルを選択して [開く] をクリックするか、Enter キーを押すと、元の場所が保存されないことがわかりました。しかし、ファイルを1つだけ選択して時計を開くか、Enterキーを押す(またはダブルクリックする)と、場所が記憶されます。
コードは次のとおりです。
public override void Execute(object parameter)
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.DefaultExt = ".txt";
dialog.Filter = "Text files (.txt)|*.txt";
dialog.Multiselect = true;
dialog.Title = "Select a trace file";
// The documentation says ShowDialog always returns either true or false,
// so we get the value of the returned Nullable<bool> immediately to get
// rid of the Nullable<bool> type.
bool result = dialog.ShowDialog().Value;
if (result)
{
foreach (string fileName in dialog.FileNames)
{
traceFilesViewModel.TraceFileList.Add(fileName);
traceFilesViewModel.StatusBackground = Brushes.PeachPuff;
traceFilesViewModel.StatusForeground = Brushes.Red;
traceFilesViewModel.StatusText = "Trace files not loaded.";
}
}
}