显示完整日历的最快方式

时间:2010-05-25 12:57:29

标签: wpf

我需要在屏幕上显示完整的日历(12个月,31天/月)。目前,我正在使用12列网格,每列填充“月”堆栈面板 每个“月”堆栈面板填充31天(或更少)天的表示 每天表示由嵌入三个控件的DockPanel组成:

  • 显示日期字母的文本块
  • 显示日期编号的文本块
  • 显示短信的文本块

当然,当我试图调整窗口大小时,表演会被压缩。

是否允许快速显示许多文本块?

3 个答案:

答案 0 :(得分:3)

你看过Calendar Control了吗?如果您运行的是.NET 3.5或更早版本并且作为.NET 4的一部分包含在内,那么它就是WPF Toolkit的一部分

答案 1 :(得分:1)

最快的方法是继承FrameworkElement(或者甚至是Visual),重写OnRender并在代码中绘制整个日历。

但是你必须放弃所有模板给你的好功能,先阅读this article

答案 2 :(得分:0)

实际上,我试图从头开始构建日历UI,以便控制它的任何部分。我使用了一个包含12个列和31行的网格作为ItemsControl的ItemsPanel。根据绑定到ItemsControl的数据(日期集合),网格将DataTemplate放在右列/行对中。