【发布时间】:2018-10-04 10:55:12
【问题描述】:
我为日历创建了一个自定义样式,似乎除了标题颜色(背景)之外的所有内容我都找不到如何更改。此背景在日、月和年视图中可见。
到目前为止,我已经提取了 4 个模板(在 Blend 中),并且没有从所有模板中粘贴代码(它是默认模板),我将仅展示我如何以日历样式引用它们:
<Style x:Key="CustomCalendarStyle" TargetType="{x:Type Calendar}">
<Setter Property="CalendarButtonStyle"
Value="{StaticResource CustomCalendarButtonStyle}" />
<Setter Property="CalendarDayButtonStyle"
Value="{StaticResource CustomCalendarDayButtonStyle}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Calendar}">
<Grid x:Name="PART_Root">
<CalendarItem x:Name="PART_CalendarItem"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Style="{DynamicResource CustomCalendarItemStyle}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
如果我们假设他们四个都有默认的 xaml 代码,有谁知道这个背景设置在哪里(2018 年 11 月后面的那个)?好像没有设置这 3 种样式(CalendarButtonStyle、CalendarDayButtonStyle、CalendarItemStyle...)。
我找到了一种“肮脏”的方法来实现这一点,将 CalendarItemStyle 模板的外边框设置为透明(基本上设置整个日历背景),然后在添加 PART_HeaderButton、PART_PreviousButton 和PART_NextButton。
我很好奇原始风格的背景设置在哪里。有人玩过日历样式吗?
【问题讨论】:
-
@Elhamer 这不是同一个问题。