话不多说,先上图。主要是对 CalendarButton,CalendarDayButton,CalendarItem这三个类设置了些属性,属于初级入门。下面是代码附件,编译器vs2019:WpfCustomCalendar.rar-其它文档类资源-CSDN下载
粗略的在代码上做了些注释
blend 生成出来的模版 有的时候 会生成 跟 vs ui界面不兼容的代码 会导致可视化设计界面 报错崩溃掉 但是确不影响 程序的编译运行
这个
样式
表 在vs 里会提示动画不兼容 Foreground属性 报错
先上图看下
样式
原文:
WPF
DatePicker
默认
显示当前日期
WPF
的
日历
选择控件
默认
为当前日期,共有两种方法,一种静态,一种动态。
静态的当然写在DatePicker控件的属性里了,动态的写在对应的cs文件里,具体请看下面。
1.方法一:
myDatePicker.Text = DateTime.Today.ToLongDateString();
2.方法二:
Calendar
控件
DisplayMode="Month"属性:显示
日历
时最高的一级,以十年、年、月来显示,一般用Month。
DisplayDateStart="2021-5-1" DisplayDateEnd="2021-11-29"属性:
日历
的开始和结束日期。
FirstDayOfWeek="Monday"属性用于将某一天作为
日历
第一列的第一天。
当选择的日期发生改变时,可以用触发事件SelectedDatesChanged="cal1_SelectedDatesChanged"的响应函数
一、
WPF
日历
控件基本
样式
通过Blend获取到
Calendar
需要设置的三个
样式
Calendar
Style、
Calendar
ButtonStyle、
Calendar
DayButtonStyle、
Calendar
ItemStyle。然后通过设置
样式
来更改
默认
的颜色风格,突出显示周六周日。
效果如下:
样式
代码如下:
<convert:DateConvertToColor x:Ke...
申明:
WPF
自定义控件与
样式
是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接。
本文主要内容:
日历
控件
Calendar
自定义
样式
;
日期控件DatePicker自定义
样式
,及Label标签、水印、清除日期功能扩展;
二.
Calendar
自定义
样式
先看看效果:
从上面图可以看...
在最近的工作中,需要用
wpf
的
日历
来标记特殊的交易日,类似如下图这种的,不过找了很多的资料都没找到能一个现成的,最后只能自己研究了。现在研究成功,也分享下自己的劳动成果,希望能够帮助到有过类似问题的博友。博主语文能力有限,就直接上图上代码了。 1、首先得重写
Calendar
DayButton的
样式
,我下面的这个大部分是从网上拿下来的,也很感谢前辈们的辛劳付出,让我站在巨人的肩膀下开发。
2、定义需要用到的触发器,然后在
样式
中引用即可。
3、第三步,也是最重要的一步,上面2步做完了,我们基本上可以实
要自定义
WPF
日历
控件,您可以继承
WPF
自带的
Calendar
类,然后在其中添加自己的
样式
和功能。
以下是一个简单的示例,演示如何创建一个自定义的
WPF
日历
控件:
1. 创建一个新的
WPF
控件库项目。
2. 在项目中添加一个新的类,命名为 Custom
Calendar
。
3. 让 Custom
Calendar
类继承自
WPF
自带的
Calendar
类。
public class Custom
Calendar
:
Calendar
// Add custom functionality here
4. 在 Custom
Calendar
类中添加自定义的
样式
和模板。这可以通过在 XAML 中定义一个新的 ControlTemplate 来完成。
<Style TargetType="{x:Type local:Custom
Calendar
}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:Custom
Calendar
}">
<!-- Add custom template here -->
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
5. 在 Custom
Calendar
类中添加任何其他所需的自定义功能。例如,您可以添加新的属性或事件,或者更改控件的行为。
public class Custom
Calendar
:
Calendar
public static readonly DependencyProperty MyCustomProperty =
DependencyProperty.Register("MyCustomProperty", typeof(string), typeof(Custom
Calendar
));
public string MyCustomProperty
get { return (string)GetValue(MyCustomProperty); }
set { SetValue(MyCustomProperty, value); }
// Add custom functionality here
6. 在 XAML 中使用自定义控件。要使用自定义控件,您可以在 XAML 中使用自定义控件的命名空间,并将控件添加到您的 UI 中。
<Window x:Class="MyApp.MainWindow"
xmlns:local="clr-namespace:MyApp.CustomControls"
Title="MyApp">
<local:Custom
Calendar
/>
</Grid>
</Window>
这只是一个简单的示例,您可以根据需要添加更多的自定义功能和
样式
。