SaveFileDialog忽略InitialDirectory

时间:2018-06-19 19:18:41

标签: c# wpf savefiledialog

如果我使用:

SaveFileDialog dlg = new SaveFileDialog();
string StartDir = Environment.ExpandEnvironmentVariables("%Public%\\Documents");
dlg.InitialDirectory = StartDir;

if (dlg.ShowDialog() == true)
{
}

该对话框将改为打开“当前用户的文档”文件夹...我已确认StartDir = "C:\Users\Public\Documents"。有什么办法可以迫使它从"C:\Users\Public\Documents"开始?

正在保存的数据应该对计算机上的所有用户可见...

这是使用.NET 4.7.1的c#WPF桌面应用程序。

2 个答案:

答案 0 :(得分:3)

设置InitialDirectory还需要将RestoreDirectory设置为true才能正常工作。

dlg.InitialDirectory = StartDir;
dlg.RestoreDirectory = true;

还考虑直接初始化这些属性:

SaveFileDialog dlg = new SaveFileDialog()
{
    InitialDirectory = StartDir,
    RestoreDirectory = true
};

答案 1 :(得分:0)

要工作,您需要设置属性AutoUpgradeEnable = false