【问题标题】:How to find the dates shown in a Silverlight Calendar control?如何查找 Silverlight 日历控件中显示的日期?
【发布时间】:2009-10-08 21:44:32
【问题描述】:

我有一个包含日历控件的 Silverlight 应用程序。我想使用 BlackoutDates 属性“关闭”我们没有可用数据的日子。

所以我正在寻找一种简单的方法来查找当前可见的所有日期(假设现在是月视图)。我可以使用蛮力方法,例如将当月的第一天减去 7 天到当月的最后一天加上 7 天,但是有人可以提出更简洁的方法吗?

【问题讨论】:

    标签: silverlight controls


    【解决方案1】:

    找出哪些日期没有数据对您来说有多昂贵?

    如果便宜的话,只需将 BlackoutDates 属性设置为当前可见月份的所有日期以及两侧月份的所有日期,让日历担心哪些是可见的,哪些是不可见的。

    【讨论】:

      【解决方案2】:

      另一个解决方案是对 SelectedDatesChanged 事件做出反应以拒绝特定的日期选择, 例如周末的日期:

      private void Calendar_SelectedDatesChanged(对象发送者, CalendarDateChangedEventArgs e)
      {
      // 检查所有新添加的项目。
      foreach(e.AddedItems 中的 DateTime selectedDate)
      {
      if ((selectedDate.DayOfWeek == DayOfWeek.Saturday) || (selectedDate.DayOfWeek == DayOfWeek.Sunday))
      {
      lblError.Text = "周末不允许";
      // 删除选定的日期。 ((日历)发件人).SelectedDates.Remove(selectedDate);
      }
      }
      }

      【讨论】:

        猜你喜欢
        • 2019-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多