Silverlight中MergedDictionary中的主题不能正常工作

时间:2013-03-14 14:23:28

标签: silverlight resources themes

好的,这让我疯狂了。我有一个Silverlight 5项目。不久前我们决定以我们的项目为主题,只是为了让它更流行。我找到了主题实现并继续进行。

首先,我使用了Silverlight Toolkit中的.Theming命名空间。我使用了显式构建的theme.dll。虽然有一个缺点,我没有能力自定义主题。所以我决定只使用theme.xaml,并使用<MergedDictionaries>实现它。

这种方法的问题在于,我失去了在设计时看到主题的能力。在运行时它工作正常。但是,当我不想定制主题时,这还不够好。

我通过在App.Xaml中使用合并的词典来实现主题,如此

   <Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/eCP;component/Themes/WhistlerBlue.xaml"/>
        </ResourceDictionary.MergedDictionaries>
        <vm:ViewModelLocator x:Key="ViewModelLocator"/>
    </ResourceDictionary>
   </Application.Resources>

如果我将相同的blok放在我的MainPage中,主题会立即在设计时间内打开。但是不必在每个Silverlight页面上都这样做吗?

简而言之:如果我在App.xaml中使用MergedDictionaries实现主题,它在设计时不起作用。如果我在特定页面上执行此操作,它确实有效。

有趣的是,如果我在Expression Blend中打开我的项目,它在设计时可以正常工作。

我的第一个想法是,有些东西搞砸了我的visual studio 2010 SP1。也许在隐藏的项目文件中有什么东西,但我不知道。

任何人都可以提供帮助吗?

0 个答案:

没有答案