Jos*_*ose 5 xaml themes windows-phone-7
是否可以创建自定义主题并将其用作默认主题?
我可以在任何地方找到的每个示例都说您可以通过复制ThemeResources.xaml
和System.Windows.xaml
文件创建自定义主题,并将它们作为合并的词典包含在您的应用中.
http://windowsphonegeek.com/articles/Creating-WP7-Custom-Theme-ndash-Basic-Theme-Implementation 覆盖Windows Phone 7中的主题
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/CustomThemeResources.xaml" />
<ResourceDictionary Source="Resources/CustomThemeStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)
然后我又读了一些你需要在样式文件中包含画笔的内容,所以CustomThemeStyles.xaml
我有这个.
http://www.windowsphonegeek.com/articles/Creating-WP7-Custom-Theme---Complex-Theme
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="CustomThemeResources.xaml" />
</ResourceDictionary.MergedDictionaries>
Run Code Online (Sandbox Code Playgroud)
它不起作用......所以我下载了示例应用程序,果然,每个想要改变一些颜色的页面,比如背景颜色,都会将它设置在它最外面的组件上.
<Grid Background="{StaticResource PhoneBackgroundBrush}">
...
</Grid>
Run Code Online (Sandbox Code Playgroud)
是否可以包含更改所有默认值的样式/画笔/颜色/等的自定义主题,而无需在任何地方明确设置它们?
在当前版本的 WP7 中,不可能有一种新样式可以更改默认样式,而无需通过“x:Key”显式设置它:
\n\n隐式样式是 Silverlight 4(和 WPF)的一项功能:Windows Phone 7 基于 Silverlight 3+(添加了一些 Silverlight 4 功能)。由于 Silverlight 3 中没有\xe2\x80\x99s 隐式样式,这意味着也无法在 Windows Phone 7 中使用它们。
\n\n现在您可以:
\n\n仅覆盖默认画笔/颜色资源,如您指出的第一篇文章中所述。请注意,所有 WP7 控件都会更改其颜色。另请注意,由于某种原因,默认背景保持不变。这是当前版本 WP7 的一个已知问题,可能会在“Mango”更新中得到修复。
如果您想要任何新的 Style/ControlTemplate,则必须使用您指出的第二篇文章中提到的“x:Key”/{StaticResource ...} 方法。
最后,正如Derek Lakin之前提到的:希望这个错误能够在 Mango 更新中得到修复!
\n