在WindowsPhone 7/8应用程序中使用External ResourceDictionary

时间:2014-03-16 23:10:20

标签: c# silverlight xaml windows-phone-7 windows-phone-8

我为我的应用程序分离了库,我想把ResourceDictionary放在一个地方保存我的默认样式。

在我的项目mylib构建到mylib.dll我有Styles / General.xaml:

<ResourceDictionary
x:Class="gjdapi.Style.General"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"       
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib">

我在App.xaml中引用它:

<Application.Resources>
    <ResourceDictionary x:Key="General">
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/mylib;component/Styles/General.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

Build for Styles / General.xaml设置为Page。

我在这里找到了一些提示:

Use an External ResourceDictionary in a WindowsPhone 7 app

xClassNotDerivedFromElement error when adding Code Behind to Resource Dictionary in silverlight

Error using ResourceDictionary in Silverlight

但似乎没有任何效果我总是遇到这个例外:

Message "Parser internal error: Object writer 'xClassNotDerivedFromElement'. [Line: 15 Position: 32]"   string

请告诉我我错过了什么?

1 个答案:

答案 0 :(得分:0)

正如lisp所建议的,ResourceDictionary不能拥有代码,因此第x行:Class =&#34; gjdapi.Style.General&#34;应该删除