2015-06-15 40 views
3

我想使用Style.x文件以及LocalizedStrings文件作爲資源在Windows Phone 8應用程序中使用App.xaml 。如何在App.xaml文件的Application.Resources中合併LocalizedStrings和ResourceDictionary標記

我知道,添加一個風格文件作爲一種資源,我們可以使用:

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

,並申報了LocalizedStrings作爲一種資源,我們可以使用:

<Application.Resources> 
    <local:LocalizedStrings xmlns:local="clr-namespace:Localizzazione" x:Key="LocalizedStrings"/> 
</Application.Resources> 

無論是在做工精良我應用程序。但是,在嘗試同時使用這兩種資源時,我遇到了一些問題。

Visual Studio阻止我在ResourceDictionary標記上面添加LocalizedStrings標記,向我要求一個鍵,並且VS也阻止我在ResourceDictionnary標記內添加LocalizedString標記。但是,VS是安靜的,當我做到以下幾點:

<Application.Resources> 
    <local:LocalizedStrings xmlns:local="clr-namespace:Localizzazione" x:Key="LocalizedStrings"/> 
    <ResourceDictionary x:Key="MyAppDict"> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Assets/Resources/Styles.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

但我跑與其它信息有一個XamlParseException應用程序時:無法分配財產System.Windows.ResourceDictionnary.Source

那麼你有什麼想法如何在App.xaml文件中結合這兩個資源?

+0

,能得到任何異常或錯誤?如果異常意味着可以添加異常中的消息嗎? –

+0

當啓動應用程序時,我得到一個XamlParseException。 – godidier

+0

在我的應用程序中,我也得到了這個異常,但是我用Blend的幫助創建了一個資源文件,沒有例外。但我不知道確切的原因。使用Blend創建一個資源文件,我希望它也會對你有所幫助。 –

回答

2

您可以使用下面的代碼添加兩者。

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="./Resources/ThemeResources.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
     <local:LocalizedStrings xmlns:local="clr-namespace:Localizzazione" x:Key="LocalizedStrings"/>    
    </ResourceDictionary> 
</Application.Resources> 

我使用無論是在我的應用程序&它不會顯示有任何異常。

+0

Thx爲您的答案,我試過了,但我有同樣的錯誤。也許我正在做其他的事情,但我得到了相同的'XamlParseException' – godidier

+1

你把你的資源文件放到Resource文件夾中? –

+0

它將文件放在資源文件夾thx中 – godidier

0

我跟着Kunjan Patel的想法,但仍然沒有工作。所以我在「ResourceDictionary.MergedDictionaries」之前嘗試了「LocalizedStrings」,它起作用了!見下文。

<Application.Resources> 
<ResourceDictionary x:Key="MyAppDict"> 
    <local:LocalizedStrings xmlns:local="clr-namespace:Localizzazione" x:Key="LocalizedStrings"/> 
    <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="Assets/Resources/Styles.xaml" /> 
    </ResourceDictionary.MergedDictionaries> 
</ResourceDictionary> 

相關問題