繁体   English   中英

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

[英]How to Combine LocalizedStrings and ResourceDictionary tags in the Application.Resources of the App.xaml file

我想使用App.xaml在Windows Phone 8应用程序中使用Style文件和LocalizedStrings文件作为资源。

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

<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文件中组合这两个资源有任何想法吗?

您可以使用以下代码添加两者。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM