Silverlight 资源字典作为链接文件

Silverlight 资源字典作为链接文件,silverlight,Silverlight,资源字典 03-11-2010上午10:56| 我有两个不同的项目。我使用“添加现有项”“添加为链接”链接中的资源目录 当资源字典是链接文件时,Silverlight看不到它,并给我一个超出范围的错误 有没有解决这个问题的办法,或者有没有更好的方法在两个项目中使用同一个文件 我通常会引用具有资源字典的程序集(不要将其作为链接添加),然后使用将其带到应用程序中。您可以在外部程序集中指定资源字典,以合并到当前应用程序或页面的资源字典中 <Application.Resources>

资源字典

03-11-2010上午10:56|

我有两个不同的项目。我使用“添加现有项”“添加为链接”链接中的资源目录

当资源字典是链接文件时,Silverlight看不到它,并给我一个超出范围的错误


有没有解决这个问题的办法,或者有没有更好的方法在两个项目中使用同一个文件

我通常会引用具有资源字典的程序集(不要将其作为链接添加),然后使用将其带到应用程序中。您可以在外部程序集中指定资源字典,以合并到当前应用程序或页面的资源字典中

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/SharedThemeAssembly;component/MyStyles.xaml"/>
            ...other ResourceDictionaries to merge in...
        </ResourceDictionary.MergedDictionaries>
     </ResourceDictionary>
</Application.Resources>

如果共享在silverlight和WPF项目之间,我发现将文件放在silverlight项目中并将其链接到WPF项目比以其他方式更容易

换句话说,文件被移动到silverlight项目,而不是WPF项目,然后“链接”到WPF项目

还请记住,当文件从WPF引用时,因为它是链接的,所以需要更改引用URL,就像它位于根目录中一样,如下所示:

<ResourceDictionary 
    Source="pack://application:,,,/AssemblyName;component/DictionaryName.xaml" />

删除上面的文件夹有效,但下面的uri无效:

<ResourceDictionary 
    Source="pack://application:,,,/AssemblyName;component/FOLDER/DictionaryName.xaml" />