2011-09-21 224 views
0

我有一個應用程序動態加載用戶控件的DLL。在其中一個dll中,我有一個顯示按鈕的控件,當它彈出時,彈出一個新窗口。一切都將是巨大的,但窗口不會出現......我得到的是與定義窗口彈出XAML的名稱「無法找到資源XXX.xaml」的消息。「無法找到資源」

private void onCmdSetIndexValidator(object _param) { 
     IIndex param = (IIndex)_param; 

     new IndexValidatorsEditor(param).Show(); 
    } 

任何想法:

彈出的窗口中,被綁定到該按鈕命令創建的?

回答

0

解決辦法很簡單......裏面裝我的DLL是錯誤的代碼 - 它使用Assembly.LoadFile,而不是Assembly.LoadFrom

0

窗口中的資源需要限定在它們所在的組件的範圍內。如果您訪問窗口中的資源(圖像,頁面等),則需要指定它來自的組件(即使它來自它自己的組件)。如果您不指定程序集,WPF將假定資源來自正在執行的程序集(您的客戶端應用程序)。

通過pack URI定義程序集。例如:/nameOfAssembly;component/folder/background.png

它也可以幫忙看一下原始異常的內部異常值。有時,這提供了哪些資源有困難定位的線索。

http://msdn.microsoft.com/en-us/library/aa970069.aspx

+0

嗯......如果你是真的通過你自己添加資源。通常你不會手動添加XAML; D – SOReader