Xaml 修改时间选择器和日期选择器控件的默认样式

Xaml 修改时间选择器和日期选择器控件的默认样式,xaml,windows-phone-8.1,windows-8.1,winrt-xaml,win-universal-app,Xaml,Windows Phone 8.1,Windows 8.1,Winrt Xaml,Win Universal App,我正在尝试更改ComboBox中选定日期、时间值的背景、按下状态背景和颜色(当前为强调色)。问题是,当我应用msdn和中提供的默认模板时。 我的控件更改为,这些框中的每个值现在都有不同的ComboBox,而不是只有一个。如下图所示(日、月、年有不同的组合框) (图片仅供参考) 还有一些主题资源也缺失了,比如 Foreground="{ThemeResource TimePickerHeaderForegroundThemeBrush}" Margin="{ThemeResource TimeP

我正在尝试更改ComboBox中选定日期、时间值的背景、按下状态背景和颜色(当前为强调色)。问题是,当我应用msdn和中提供的默认模板时。 我的控件更改为,这些框中的每个值现在都有不同的ComboBox,而不是只有一个。如下图所示(日、月、年有不同的组合框)

(图片仅供参考)

还有一些主题资源也缺失了,比如

Foreground="{ThemeResource TimePickerHeaderForegroundThemeBrush}"

Margin="{ThemeResource TimePickerHeaderThemeMargin}"  

FontWeight="{ThemeResource TimePickerHeaderThemeFontWeight
这就是我的控件在没有应用样式的情况下的外观

这是我正在使用的代码

            <DatePicker     x:Name="Date_Picker"
                            Header="Date:"
                            Background="{StaticResource HotPink}" 
                            Foreground="{StaticResource Gray05}" />
            <TimePicker     x:Name="Time_Picker"
                            Header="Time:"
                            MinuteIncrement="5"
                            Background="{StaticResource HotPink}"
                            Foreground="{StaticResource Gray05}"/>


还有一个问题是粉红色背景只在DatePicker上可见,而在TimePicker上不可见,这很奇怪

您应该编辑控件的模板。在Blend中打开项目,并在文档大纲中找到元素。右键单击并选择
编辑模板>编辑副本…
(参见下图)。这将生成默认模板的副本。从这里,您可以编辑不同的视觉状态(确定控件在不同状态下的外观:活动/悬停/禁用等)。在此处设置自定义值时,它们应按预期工作

VS2015混合版截图

自从我开始使用winrt以来,我在所有控件中只有“创建空”选项。它在silverlight中可用,当时的生活非常简单。现在Blend没用了。刚回到家,在我的普通电脑上检查了一下。在2015年,我的混搭车有一个选择。我将控件添加到选项中大约花了15秒才变为可用,因此它看起来像是在延迟加载模板。编辑副本选项仍然处于禁用状态,vs 2015中的默认模板是msdn上的模板。vs 2013使用了其他一些模板,其中所有字段都在同一个组合框中。我刚刚意识到您可能正在使用一个共享页面(将其放入解决方案的
shared
项目中)。在这种情况下,您无法编辑模板,因为它在手机和桌面上不同:它针对每个平台进行了“优化”。要设置样式,您必须至少将xaml文件移动到特定于平台的项目中。您仍然可以使用共享代码隐藏文件(.xaml.cs)。