WPF先设置工作目录

时间:2014-10-15 12:30:39

标签: wpf directory working-directory

我有一个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();

1 个答案:

答案 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();
    }
}