如何移除WPF中Calendar控件的外部白色边框
WPF Calendar移除外部白色边框的解决方案
方法一:直接设置控件基础属性
如果默认样式的边框由Calendar控件自身的Border属性控制,直接在XAML中设置以下属性即可:
<Calendar BorderThickness="0" BorderBrush="Transparent" />
方法二:修改Calendar模板(针对CalendarItem的默认边框)
很多时候外部白色边框实际来自内部的CalendarItem控件,需要重写Calendar的模板来移除它的边框:
<Calendar> <Calendar.Template> <ControlTemplate TargetType="{x:Type Calendar}"> <StackPanel x:Name="PART_Root"> <CalendarItem x:Name="PART_CalendarItem" BorderThickness="0" /> </StackPanel> </ControlTemplate> </Calendar.Template> </Calendar>
方法三:全局样式(应用于所有Calendar控件)
如果项目中所有Calendar都需要无边框效果,可以定义全局样式:
<Style TargetType="{x:Type Calendar}"> <Setter Property="BorderThickness" Value="0" /> </Style> <Style TargetType="{x:Type CalendarItem}"> <Setter Property="BorderThickness" Value="0" /> </Style>
补充说明
如果上述方法后仍有细微边框或阴影,需要进一步修改CalendarItem的完整模板,找到模板中负责边框的Border元素,将其BorderThickness设为0或删除该元素。
内容的提问来源于stack exchange,提问作者Hiba HL
相关产品推荐
相关产品推荐

