【问题标题】:WPF Calendar: Boldface specified dates?WPF日历:粗体指定日期?
【发布时间】:2010-08-25 01:08:25
【问题描述】:

我正在创建一个窗口,该窗口使用 WPF 日历来浏览在所示月份的指定日期创建的文档。当日历更改月份时,我会在数据库中搜索该月创建的所有文档,并使用它来创建该月中有文档的日期列表。

在日历控件中,我想用粗体显示那些有文档的日期,就像 Outlook 用粗体显示有约会的日期一样。

所以,这是我的问题:如何在日历控件的月视图中将特定日期加粗?感谢您的帮助。

【问题讨论】:

    标签: wpf wpf-controls calendar


    【解决方案1】:

    这可能会有所帮助。 http://www.c-sharpcorner.com/UploadFile/mahesh/539/Default.aspx “选定日期和选定日期”区域将向您展示如何选择它们,并且进一步向下它可以向您展示如何格式化您的日历。也就是说,如果您使用的日历与我希望的相同。希望这会有所帮助。

    选定日期和选定日期

    SelectedDate 属性表示当前选定的日期。如果多个日期选择为真,则 SelectedDates 属性表示日历中的所有选定日期。以下代码 sn-p 在设计时设置 XAML 中的 SelectedDates。

    <Calendar Name="MonthlyCalendar" 
        SelectionMode="MultipleRange"  
        DisplayDate="3/5/2010"
        DisplayDateStart="3/1/2010"
        DisplayDateEnd="3/31/2010"
        FirstDayOfWeek="Tuesday"
        IsTodayHighlighted="True" 
        xmlns:sys="clr-namespace:System;assembly=mscorlib" Margin="15,39,88,19">
    
        <Calendar.SelectedDates>
            <sys:DateTime>3/5/2010</sys:DateTime>
            <sys:DateTime>3/15/2010</sys:DateTime>
            <sys:DateTime>3/25/2010</sys:DateTime>
         </Calendar.SelectedDates>
    </Calendar>
    

    日历中的选定日期如图 8 所示,您可以在其中看到 3 月 5 日、15 日和 25 日具有浅蓝色背景,代表选定的日期。

    以下代码 sn-p 在运行时设置 WPF 中的 SelectedDates 属性。

    private void AddSelectedDates()
    {
        MonthlyCalendar.SelectedDates.Add(new DateTime(2010, 3, 5));
        MonthlyCalendar.SelectedDates.Add(new DateTime(2010, 3, 15));
        MonthlyCalendar.SelectedDates.Add(new DateTime(2010, 3, 25));
    }
    

    【讨论】:

    • 谢谢! WPF 和 XAML 中的代码已被接受并 +1 - 非常有帮助。
    • 对不起--不得不撤回接受。该解决方案选择日期。我想做的就是将它们加粗。我将单击一个日期以选择它并显示在该日期创建的注释。留下 +1 以获得有用的代码。
    • 在我提供的链接中有格式化示例。不确定这是否会有所帮助。
    • 这也很好地解释了一般的日历样式。 msdn.microsoft.com/en-us/magazine/dd882520.aspx
    • 这个问题需要一个从 WPF 日历派生的自定义控件。完成后我会在 CodeProject 上写下来,并在此处发布文章的链接。
    【解决方案2】:

    事实证明,粗体显示在几个地方是硬编码的,所以我改为日期突出显示。我写了一个自定义控件,它有一个 HighlightedDates 列表;将日期添加到列表中会突出显示日期,并为日期提供可选的工具提示以及主机应用选择的任何内容。

    我写了一篇题为 Extending the WPF Calendar 的 CodeProject 文章。文章包含该控件并解释了我是如何构建它的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多