2017-06-01 80 views
1

在我的WPF應用程序中,我試圖從外部程序集加載資源字典。在編輯器中找不到ResourceDictionary,在運行時工作

它在設計器中用一條消息「定位時發生錯誤...」(我的消息是法文的,所以不確定確切的英文版本)加下劃線。

以下是我在我的App.xaml:

<Application.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /> 
       <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" /> 
       <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" /> 
       <ResourceDictionary Source="pack://application:,,,/MYNAMESPACE;component/Themes/MYFILE.xaml" /> 
       <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" /> 
       <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.AnimatedTabControl.xaml" /> 
       <ResourceDictionary Source="pack://application:,,,/MYNAMESPACE;component/Styles/MYFILE.xaml" /> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Application.Resources> 

這兩條線是與myNameSpace對象獲得與消息下劃線。我離開了Mahapps,因爲他們工作得很好,並沒有強調。我修改了名字,因爲它們與我的公司有關。

我在這裏發現了一些說xaml構建操作應該是「資源」(here),但有人說這可能會導致問題。 Mahapps中的xaml文件是「Page」(我的也是)並且工作得很好。

我的程序集是「用戶控制庫」類型的項目。

回答

1

我記得在這個問題上掙扎。我記不起什麼解決了我的問題,但這是我設置它的方式。 (xaml)的構建動作設置爲Page。所以我很確定你的假設是正確的。

包含外部資源字典該項目是相同的解決方案我工作中的一部分,所以我引用爲接下來的字典:

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="/MY.NAMESPACE;component/MyExternalDictionary.xaml" /> 
      <ResourceDictionary Source="/MY.NAMESPACE;component/MYFILE.xaml" /> 
      <ResourceDictionary Source="MyInternalDictionary.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

這似乎爲我現在的工作,但我不記得是否這是我所做的一切來解決它。
所以,如果這仍然不起作用,它也可能是由缺失的引用造成的。如果您的某個外部資源字典引用了某些內容,則可能還需要將其添加到當前項目中。

+0

我是這樣寫的,沒有「pack ...」,也在DEBUG和RELEASE之間切換,並且由於某種原因它修復了它。我之前重新啓動了我的項目(沒有修復它),所以我不知道發生了什麼! –

相關問題