2013-07-25 306 views
4

我有一個WPF程序,它處理畫布上的圖像。關於相對路徑和絕對路徑的混淆

我正在嘗試使用序列化來保存我的程序的內容並在稍後階段重新加載它的階段。

因此,當我將任何圖像插入到控件中時,我使用絕對路徑值,我明白這對於我想保存程序狀態並重新加載它的程序來說是個壞主意晚些時候。

那麼在這種情況下最好採取什麼行動。

我是否在我的WPF項目中創建了一個名爲Images的文件夾,然後將我在程序中使用的所有圖像複製到此文件夾中,然後將路徑指向此目錄?

還是我完全在這裏錯誤的線?

回答

1

如果您序列化應用程序的狀態數據,通常會在一個或多個所謂的系統特殊文件夾中創建一個文件夾,您可以通過致電Environment.GetFolderPath來獲得該文件夾。

例如,您可以在SpecialFolder.CommonApplicationData enum(在Windows 7系統上爲C:\ProgramData)指定的特定文件夾下面的文件夾中存儲具有應用程序範圍(對所有用戶相同)的數據。

特定於當前漫遊用戶(在網絡上的多臺計算機上工作的用戶)的數據將存儲在SpecialFolder.ApplicationData以下的文件夾中。非漫遊用戶也有SpecialFolder.LocalApplicationData

您可以查看Environment.SpecialFolder枚舉以獲得總覽。

0

從我自己的經驗,創建一個文件夾,並保存在那裏的圖像。從長遠來看,它只會讓您的生活更輕鬆,並且可以輕鬆查看應用程序資源的位置。