我创建了一个代码,它从数据库中读取日期并将它们放入日历控件中。一切正常,但如果用户在日历中选择一个日期,填充后,所有通过代码选择的日期都会消失。还有另一种方法来标记以前从数据库填充中添加的日期吗?
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();
}
有一种方法可以防止用户点击后日期消失吗?或者让我识别数据库填充添加的日期的东西?谢谢。
最佳答案
在网上进行了长时间的搜索并查阅了有关 Calendar 类的大量文档后,我发现了两件事:
- 为了得到我想要的东西,我必须利用自定义控件
- 尝试通过创建委托(delegate)来通过代码来执行操作,但这并不是真正的 简单的事
然后我在第一点跑了,特别是从 post David Veeneman 的,它正好解决了我的问题。 最终的结果会是这样的:
正是我想要的。
帖子里都写了,复制粘贴就没意义了。感谢这位成员(member),对我来说至少能够解决微软控制中的一个故障。不幸的是,我越来越相信 WPF 仍然不成熟,仍然需要几年时间才能完成。我希望我的回答能有所帮助,如果有人设法以更优雅的方式解决问题,那么它会很好地响应。谢谢。
关于c# - 如何在日历中保留所有日期选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31624332/