c# - 在 WPF 中,创建类似于 Outlook 2007 的日历 View 的最佳方法是什么?

标签 c# .net wpf wpf-controls

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

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

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

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

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

想法?

最佳答案

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

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

整个事情将绑定(bind)到代表“日子”及其内容的对象集合。

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

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

关于c# - 在 WPF 中,创建类似于 Outlook 2007 的日历 View 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/797915/

相关文章:

c# - 点燃异常 : Failed to start processor: GridProcessorAdapter

c# - 为什么我的非关闭流仍然关闭?

c# - 使用C#清除文本文件的内容

c# - 需要通过 Union() 中的匿名类型显式转换

wpf - 当所有子项都被禁用时,如何禁用顶级 WPF MenuItem?

c# - 如何将项目集合绑定(bind)到复选框列表框?

wpf - 电源外壳。访问 Runspace 实异常(exception)部的变量

c# - 如何在 C# 中使用 StrDup

.net - C# - 集合和泛型的备忘单

c# - LINQ:如何强制使用基于值的引用?