我正在编写一个WPF桌面应用程序,并且视图需要看起来像日历。我只需要显示四周(固定)。每周都会有一个项目列表(可能用ListView表示)。我在两种方法之间进行辩论:
使用布局控件 - 一个网格控件,其中每个“单元格”包含一个ListView
使用ListView + GridView,然后自定义样式以更像日历
在我看来,布局控件更容易实现,但有些东西感觉很脏。我基本上是硬编码28个单元格,每个单元格包含一个ListView。但同样,这很简单。
我认为ListView / GridView会更优雅,但我仍然需要为每个单元格创建一个ListView,然后我必须弄清楚如何设置控件的样式,使它看起来更像一个日历而不像桌子。
思想?
答案 0 :(得分:2)
您可以使用带有UniformGrid的ListBox。这将负责构建基本布局。当显示的日期不在当月时,当前月份稍微触发以实现样式的更改。
然后,每天都可以将ListView或ListBox作为其模板的一部分,用于显示任务/会议/其他任何内容。
整个事物将绑定到代表“天”及其内容的对象集合。
对于ItemsControl的基础,ListBox通常是一个不错的选择。
您还应该看看如何在WPF中构建Calendar控件,它可能会帮助您提供一些想法。
答案 1 :(得分:1)
答案 2 :(得分:1)
查看它可能在WPF中使用的Silverlight Toolkit来源