我想使用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文件中组合这两个资源?
答案 0 :(得分: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>
我在我的应用程序中使用了两者。它不会在那里显示任何例外。
答案 1 :(得分:0)
我遵循了Kunjan Patel的想法,但仍然没有工作。所以我尝试了#34; LocalizedStrings&#34;在&#34; ResourceDictionary.MergedDictionaries&#34;之前它工作了!见下文。
<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>