c# - 如何在日历中保留所有日期选择?

标签 c# wpf

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

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 类的大量文档后,我发现了两件事:

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

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

enter image description here

正是我想要的。

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

关于c# - 如何在日历中保留所有日期选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31624332/

相关文章:

wpf - 带有 Treeview 上下文菜单的 Caliburn Micro

c# - 在 UWP 中获取已知蓝牙设备的 COM 端口名称

wpf - 绑定(bind)颜色资源?

wpf - {RelativeSource PreviousData} 与 DataGrid 一起使用时始终为 NULL

c# - 这个 Nested Set SQL 查询是如何转换成 LINQ 查询的?

c# - 基于复选框 WPF 的条件提示

WPF RibbonComboBox 高度

c# - 为什么泛型 class<T> 中的 List<T>.RemoveAll 需要 Predicate 的变体形式?

c# - 如何强制机器人等待特定事件并同时继续轮询事件?

c# - 从 url 加载图像并将其保存为字节