2011-04-12 19 views
4

我正在使用MVVM light創建「快速」WPF應用程序來測試某些Web服務。我有整個應用程序runiing,但需要將我的ResourceDictionary添加到應用程序資源。當我添加以下到的App.xaml:將MergedDictionary添加到Application.Resources時出現錯誤WPF

<ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Resources/ResourceDictionary.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

我得到的錯誤:

錯誤4計劃「」不包含一個靜態的「適合的切入點

主」方法我可以找到關於此錯誤的所有幫助都與設置爲ApplicationDefinition的生成操作有關,這不是問題。

任何幫助或指導將不勝感激。

TIA!

+1

一件事絕對沒有做其他的。你的問題在別處。 – Will 2011-04-12 18:33:52

回答

10

App.xaml添加任何的資源時,同時學習MVVM光工具包我有同樣的錯誤。該問題是由於<Application.Resources>中的字典聲明不正確而導致的,與MVVM Light Toolkit無關。

應用程序的資源字典應該是與此類似:

<Application ...> 

    <Application.Resources> 
     <ResourceDictionary> 
      <!-- Global ViewModelLocator --> 
      <vm:ViewModelLocator x:Key="Locator" 
           d:IsDataSource="True" /> 

      <ResourceDictionary.MergedDictionaries> 
       <!-- Global style --> 
       <ResourceDictionary Source="Skin1.xaml" /> 
       <ResourceDictionary Source="Skin2.xaml" /> 
       <ResourceDictionary Source="Templates1.xaml" /> 
       <ResourceDictionary Source="Templates2.xaml" /> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Application.Resources> 

</Application> 

這樣,你得到工作,全球資源字典,在同一個地方老Locator鍵,然後從詞典中新密鑰中列出聲明文件。

文件被加載的樣子:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 

    <Style TargetType="{x:Type Button}"> 
     <Setter Property="Height" Value="28" /> 
     <Setter Property="Padding" Value="12,3" /> 
    </Style> 

    ... 

</ResourceDictionary> 
+0

非常好的發現。謝謝! – RockyMountainHigh 2012-08-08 19:39:59

1

嗯什麼奇怪的錯誤 - 您的程序編譯並運行之前,您將合併字典部分添加到App.xaml?

這可能是值得檢查你的項目的屬性 - 聽起來像你可能已設置爲控制檯應用程序 - 默認情況下有一個靜態的主要方法,這是應用程序的開始。

如果它沒有設置爲控制檯應用程序 - 它仍然值得檢查啓動對象設置 - 它可以設置爲一個特定的類,它可以再次檢查靜態主方法作爲入口點。

入口點基本上意味着作爲應用程序的一部分運行的第一件事。

HTH, 斯科特

相關問題