我有一个wpf应用程序。在mainviewmodel的构造函数中,我设置了这样的工作目录:
// get the current dircetory and move one folder up
Directory.SetCurrentDirectory(@"..\");
// check if the folder 'Data' already exist, otherwise create it
if (!Directory.Exists(Path.Combine(Directory.GetCurrentDirectory(), "Data")))
{
Directory.CreateDirectory(Path.Combine(Directory.GetCurrentDirectory(), "Data"));
}
// set the directory to the folder 'Data'
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "Data"));
在其他一些视图模型中,我在构造函数中读取数据。但此时,未设置工作目录。如何在创建所有其他视图模型之前设置目录?
这是我实例化虚拟机的方式:
readonly static HomeViewModel homeViewModel = new HomeViewModel();
答案 0 :(得分:0)
您可以创建自定义application startup handler并在创建任何视图之前执行所需操作。
public partial class App : Application
{
void App_Startup(object sender, StartupEventArgs e)
{
// Do your working directory setup here
// Create main application window, starting minimized if specified
MainWindow mainWindow = new MainWindow();
mainWindow.Show();
}
}