我想,當用戶在將designMode檢索從位於源目錄中的文件的一些內容(查看在設計師的.xaml文件)獲取源目錄的路徑,而在WPF的設計模式
我當前的代碼如下所示:
#if DEBUG
if ((bool)(System.ComponentModel.DesignerProperties.IsInDesignModeProperty.GetMetadata(typeof(System.Windows.DependencyObject)).DefaultValue)) // design mode
{
var f = new System.IO.StreamReader(@".\somedir\myfile.txt");
// do something with data from that file
f.Close();
}
#endif
但本例中的當前目錄是C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE
而我的文件根本就沒有。
我試圖通過改變當前目錄:
System.IO.Directory.SetCurrentDirectory(System.Reflection.Assembly.GetExecutingAssembly().Location);
但是這會導致類似:
C:\Users\User\AppData\Local\Microsoft\VisualStudio\11.0\Designer\ShadowCache\ckauoyuj.mbg\vihlqa20.ba2
其中只包含.exe
和.pdb
文件 - 沒有文件標記爲Content
在那裏
我不想將此文件添加爲資源
謝謝,這是一個可行的解決方案。我仍然在尋找更優雅的解決方案,因爲這需要提供相對路徑來源的根文件夾,移動文件需要更改代碼。但是,如果我找不到,我會接受你的答案:) – Adassko
源根文件夾從StackTraceFrame獲得。如果您移動項目,則從中返回的值將相應更改。不幸的是,我還沒有弄清楚如何獲得從源文件到輸出文件夾的相對路徑。如果我知道了,我會更新答案。 –