C# 如何在App.xaml文件的Application.Resources中组合LocalizedString和ResourceDictionary标记

C# 如何在App.xaml文件的Application.Resources中组合LocalizedString和ResourceDictionary标记,c#,visual-studio,windows-phone-8,windows-phone,C#,Visual Studio,Windows Phone 8,Windows Phone,我希望在Windows Phone 8应用程序中,使用App.xaml将样式文件和本地化字符串文件用作资源 我知道,要将样式文件添加为资源,我们可以使用: <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Assets/Reso

我希望在Windows Phone 8应用程序中,使用App.xaml将样式文件和本地化字符串文件用作资源

我知道,要将样式文件添加为资源,我们可以使用:

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

要将LocalizedStrings声明为我们可以使用的资源:

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

两者在我的应用程序中都能单独运行。但我在尝试同时使用这两种资源时遇到了一些问题

Visual Studio阻止我在ResourceDictionary标记上方添加LocalizedStrings标记,要求我提供密钥,而VS也阻止我在ResourceDictionary标记内部添加LocalizedStrings标记。但当我执行以下操作时,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.resourceditionnary.Source


那么,您知道如何在App.xaml文件中组合这两种资源吗?

您可以使用下面的代码添加这两种资源

<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>


我在我的应用程序中使用了这两种方法&它不会显示任何异常。

我遵循了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> 


您是否收到任何异常或错误?如果异常意味着你能将收到的消息添加到异常中吗?启动应用程序时,我收到一个XamlParseException。在我的应用程序中,我也收到了异常,但我在Blend的帮助下创建了一个资源文件,没有异常。但我不知道确切的原因。使用Blend创建一个资源文件,我希望它也能对您有所帮助。Thx对于您的答案,我尝试过,但我也遇到了同样的错误。也许我做错了别的事情,但我得到了相同的
XamlParseException
您是否已将资源文件放入资源文件夹??