我正在为WPF的Calendar控件设置样式,我在XAML中找到了一个点,其中有一个没有元素的网格,只是按日期编号所在的行和列划分。
我已经窥探并反编译(void PopulateGrids()
)并且已经了解到,在代码隐藏中,日历正在创建CalendarDayButton
并将其提供给网格。
我需要按顺序更改样式/主题以更改颜色(CalendarDayButton
的颜色),我不知道该怎么做。
我已尝试将样式应用于所述网格中的所有CalendarDayButton
,但这不起作用。
有什么建议吗? P.S。我宁愿远离代码隐藏,因为我正在研究的是资源字典中的样式而不是用户控件。
答案 0 :(得分:0)
转到Calendar Styles and Templates的Microsoft页面,将样式代码复制到资源块中,并根据需要进行更改。如果您需要为设置等创建其他属性,则可以使用附加属性执行此操作,这样您就不需要创建新的calandar控件。如果您难以确定模板的哪些部分与您在屏幕上看到的内容相对应,那么在代码中的某处放置一个断点,将calandar控制变量名称添加到您的观察窗口并单击小放大镜打开WPF可视化工具......让你遍历可视树,直观地看到每个部分正在渲染的控件部分。