2

我正在编写一个 WPF 桌面应用程序,并且有一个需要看起来像日历的视图。我只需要展示四个星期(固定)。每周都会有一个项目列表(可能用 ListView 表示)。我在两种方法之间进行辩论:

  1. 使用布局控件 - 每个“单元格”都包含一个 ListView 的 Grid 控件

  2. 使用 ListView + GridView,然后自定义样式看起来更像日历

在我看来,布局控件会更容易实现,但感觉有些脏。我基本上会硬编码 28 个单元格,每个单元格都包含一个 ListView。但同样,这很简单。

我在想 ListView/GridView 会更优雅,但我仍然需要为每个单元格创建一个 ListView,然后我必须弄清楚如何设置控件的样式,使其看起来更像日历而不像一张桌子。

想法?

4

3 回答 3

3

您可以使用带有 UniformGrid 的 ListBox。这将负责构建基本布局。当显示的日期不在当月时,在当月触发一点,实现样式的改变。

然后,每天都可以将 ListView 或 ListBox 作为其模板的一部分,用于显示任务/会议/任何内容。

整个事情将绑定到代表“天”及其内容的对象集合。

ListBox 通常是 ItemsControl 基础的不错选择。

您还应该看看日历控件是如何在 WPF 中构建的,它可能会帮助您提供一些想法。

于 2009-04-28T13:34:39.930 回答
1

也许,以下示例可以帮助您: http: //www.codeproject.com/KB/WPF/WPFOutlookCalendar.aspx

于 2009-04-28T14:56:53.460 回答
1

看看它可能在 WPF 中工作的Silverlight Toolkit的源代码

于 2009-04-28T17:41:46.390 回答