Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改WPF日历上的文本颜色?_Wpf_Wpf Controls_Calendar_Styles_Wpftoolkit - Fatal编程技术网

更改WPF日历上的文本颜色?

更改WPF日历上的文本颜色?,wpf,wpf-controls,calendar,styles,wpftoolkit,Wpf,Wpf Controls,Calendar,Styles,Wpftoolkit,是否有一种简单的方法可以更改WPF ToolkitCalendar控件的文本颜色?我以为这会很简单,但看起来颜色是硬编码的。要更改它,我必须深入研究日历及其组件的控件模板 这样做有一些不良副作用。下面是一个示例:我将日历控件及其组件(日历项,日历按钮,日历日按钮)的控件模板复制到本地资源字典中,然后将日历实例的样式设置为本地资源,如下所示: <toolkit:Calendar Name="calendar1" Style="{StaticResource Outloo

是否有一种简单的方法可以更改WPF Toolkit
Calendar
控件的文本颜色?我以为这会很简单,但看起来颜色是硬编码的。要更改它,我必须深入研究
日历及其组件的控件模板

这样做有一些不良副作用。下面是一个示例:我将
日历
控件及其组件(
日历项
日历按钮
日历日按钮
)的
控件模板
复制到本地资源字典中,然后将
日历
实例的样式设置为本地资源,如下所示:

<toolkit:Calendar  
    Name="calendar1" 
    Style="{StaticResource Outlook2010CalendarStyle}" 
    CalendarItemStyle="{StaticResource Outlook2010CalendarItemStyle}"
    CalendarButtonStyle="{StaticResource Outlook2010CalendarButtonStyle}"
    CalendarDayButtonStyle="{StaticResource Outlook2010CalendarDayButtonStyle}"  />

不幸的是,当我设置
CalendarDayButtonStyle
时,我失去了控件通常应用于月初之前和月末之后的“灰显”效果。所以,看起来我必须在自己的标记或代码中恢复这种效果


在我深入兔子洞之前,我想我会停下来做一个现实检查。我真的需要做所有这些,只是为了更改
日历
控件上文本的颜色吗?有没有一个我缺少的更简单的方法?是否有人派生了允许简单更改文本颜色的自定义控件?谢谢你的帮助。

显然,要做到这一点并不容易。我必须深入研究控件模板——日历文本颜色是在许多不同的点上硬编码的,并且没有链接到样式


文本颜色标记使用命名的SolidColorBrush对象,不能简单地用资源引用替换。您必须将color属性拆分为单独的标记,并使用对颜色资源的引用。

不确定如何在Visual Studio/代码中执行此操作,但使用Expression Blend相当简单。只需右键单击拖动到设计器中的日历,点击“编辑其他模板”,选择“编辑日历日”按钮样式,这将在xaml中为您提取模板,现在您可以以任何方式自定义它