2012年8月1日星期三

WPF关于Calendar的Style

WPF关于Calendar的Style

最近写程序时用到Calendar控件,程序中由于是要用到触屏所以需要大一点的日历,
因为平时用到Calendar时都是直接拖出来就可以了,所以也没去关注太多关于Calendar的属
性;由于我也是接触WPF时间不长,所以摆置了半天关于Calendar的风格,于是就把它写在了博客
,完全是给一些新手看的,希望对其有所帮助,也算是一种交流吧,
可能还有很多不足,但主要是给一些新手提供一些小的信息,至于怎么发挥还在自己了^^。

1.将Calendar变大

首先在 Microsoft Expression Blend 4 中拖一个Calendar控件,然后在其上面右键
选择 Edit Template(编辑模板)中的Edit a Copy...,之后就进入控件的内部,然后在XAML中
将<stackpanel/>标签删除,注意<stackpanel/>里面还有一个<CalendarItem/>不要删了,只删除<stackpanel/>

2.设置Calendar的CalendarDayButton属性
第一步做完后,然后建一个资源,关于CalendarDayButton的一个资源,如下:
<window.Resources>
<Style TargetType="CalendarDayButton" x:Key="calendardayButton">
<Style.Triggers>
<EventTrigger RoutedEvent="CalendarDayButton.Click">
<!--<sele Property="IsVisible" Value="false"/>-->
</EventTrigger>

</Style.Triggers>
<Setter Property="Width" Value="70"/>
<Setter Property="Height" Value="70"/>
<Setter Property="FontSize" Value="20"/>
<Setter Property="Foreground" Value="Blue"/>
<!--<Setter Property="Background" Value="White"/>-->
<Setter Property="Background">
<Setter.Value>
<RadialGradientBrush>
<GradientStop Color="#FFA1A1A1" Offset="0"/>
<GradientStop Color="#FF8BABCE" Offset="0.8"/>
<GradientStop Color="#FF8BABCE" Offset="1"/>
</RadialGradientBrush>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
然后在Calendar的CalendarDayButton属性中引用资源: CalendarDayButton
然后就OK了
*********************************************************************
希望一些高手能够传授WPF的一些关于学习上的建议和指点。


TAG: