加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

xaml – 覆盖默认主题WP7的自定义主题

发布时间:2020-12-14 01:55:09 所属栏目:Windows 来源:网络整理
导读:是否可以创建自定义主题并将其用作默认主题? 我可以在任何地方找到的每个示例都说您可以通过复制ThemeResources.xaml和System.Windows.xaml文件并将它们作为合并的词典包含在您的应用中来创建自定义主题. http://windowsphonegeek.com/articles/Creating-WP
是否可以创建自定义主题并将其用作默认主题?

我可以在任何地方找到的每个示例都说您可以通过复制ThemeResources.xaml和System.Windows.xaml文件并将它们作为合并的词典包含在您的应用中来创建自定义主题.

http://windowsphonegeek.com/articles/Creating-WP7-Custom-Theme-ndash-Basic-Theme-Implementation
Overriding themes in Windows Phone 7

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Resources/CustomThemeResources.xaml" />
            <ResourceDictionary Source="Resources/CustomThemeStyles.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

然后我又读了一些你需要在样式文件中包含画笔的内容,所以在CustomThemeStyles.xaml我有这个.

http://www.windowsphonegeek.com/articles/Creating-WP7-Custom-Theme—Complex-Theme

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="CustomThemeResources.xaml" />
</ResourceDictionary.MergedDictionaries>

它不起作用……所以我下载了示例应用程序,果然,每个想要改变一些颜色的页面,比如背景颜色,都会将它设置在它最外面的组件上.

<Grid Background="{StaticResource PhoneBackgroundBrush}">
...
</Grid>

是否可以包含更改所有默认值的样式/画笔/颜色/等的自定义主题,而无需在任何地方明确设置它们?

解决方法

在当前版本的WP7中,如果没有通过“x:Key”显式设置,则可以更改默认样式的新样式:

隐式样式是Silverlight 4(和WPF)的一项功能:Windows Phone 7基于Silverlight 3(添加了一些Silverlight 4功能).由于Silverlight 3中没有隐式样式,这意味着在Windows Phone 7中也无法使用它们.

现在你可以:

>仅覆盖默认的画笔/颜色资源,如您指出的第一篇文章中所述.请注意,所有WP7控件都将更改其颜色.另请注意,由于某种原因,默认背景保持不变.这是当前版本的WP7的已知问题,可能将在“芒果”更新中修复.
>如果您想要任何新的Style / ControlTemplate,您必须使用您指出的第二篇文章中提到的“x:Key”/ {StaticResource …}方法.

最后,正如Derek Lakin先前提到的:希望这个错误将在芒果更新中得到修复!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读