【问题标题】:How to keep all date selection in calendar?如何将所有日期选择保留在日历中?
【发布时间】:2015-07-25 08:02:17
【问题描述】:

我创建了一个从数据库中读取日期并将它们放入日历控件的代码。一切正常,但如果用户在日历中选择一个日期,人口之后,所有通过代码选择的日期都会消失。还有另一种方法来标记以前从数据库填充中添加的日期吗?

public void setFixturesControl()
{
        Database.m_dbConnection.Open();
        string query = "select * from date";
        SQLiteCommand input = new SQLiteCommand(query, Database.m_dbConnection);
        SQLiteDataReader reader = input.ExecuteReader();

        while (reader.Read()) 
        {
            if (MainWindow.AppWindow.League.SelectedItem.ToString().Equals(reader["caption"].ToString()))
            {
                MainWindow.AppWindow.Calendar.SelectedDates.Add(DateTime.Parse(reader["data"].ToString()));
            }
        }
        Database.m_dbConnection.Close();
    }

有什么方法可以防止用户点击后日期消失?还是可以让我识别数据库填充添加的日期的东西?谢谢。

【问题讨论】:

  • 这只是一个想法,但是您如何创建一个委托事件以在每次更改日历中的 displayed 日期时触发,在该方法中您可以应用任何验证,所需的更改。
  • 控件中没有任何东西可以保存日期,实际上?
  • 其实我不这么认为,看看Calendar class
  • 希望有解决办法,目前我在网上没有找到任何东西。

标签: c# wpf


【解决方案1】:

在网上进行了长时间的搜索并查阅了有关 Calendar 类的大量文档后,我可以看到两件事:

  1. 要获得我想要的,我必须利用自定义控件
  2. 尝试通过创建委托来通过代码执行操作,但这并不是真正的 简单的事情

然后我在第一点运行,特别是从 David Veeneman 的post,它正好解决了我的问题。 最终的结果会是这样的:

正是我想要的。

在帖子中都记录了,所以在这里复制粘贴是没有意义的。感谢这位成员,对我来说至少能够解决微软控制失败的问题。不幸的是,我越来越相信 WPF 仍然不成熟,还需要一些年才能完成。我希望我的回答对您有所帮助,如果有人设法以更优雅的方式解决问题,那么它会很好地响应。谢谢。

【讨论】:

    猜你喜欢
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    相关资源
    最近更新 更多