WPF日历选择日期不绑定+单击以选择日期?

时间:2015-06-13 16:14:10

标签: c# wpf date calendar

简短信息:我正在尝试制定日托中心管理计划,其中大多数是访客"每天来这里,但有时他们想要额外1天或想留在家里。所以我想使用一个日历,用户可以选择访问者来的日期。

我正在使用WPF和MVVMC模式。

问题1,我在数据库中有访问者A的日期,但是当我尝试绑定到选定日期时,它不起作用。如果我在文本框中阅读日期,我会正确地看到日期。

问题2,我不能使用calendarcontrol的选择日期是否有工作?用户需要能够选择和查看超过1个日期。

问题3,有什么办法可以修改日历,这样每个日期都会像复选框一样运行,如果我想选择更多日期我需要按住CTRL而我真的想要一次点击选择保持程序易于使用。

非常感谢, 顺便说一下,我只是一个初学程序员,我没有很多经验,我只有一个好主意,我想非常正确地解决这个问题,所以请放轻松我。

1 个答案:

答案 0 :(得分:0)

您应该同时设置DisplayDate="{Binding RegisterDate}"SelectedDate="{Binding RegisterDate}"

试一试:

Xaml代码:

<Calendar x:Name="MyCalender" DisplayDate="{Binding RegisterDate}" SelectedDate="{Binding RegisterDate}" />
<TextBox x:Name="TxtVisitorId" />
<Button Name="BtnBindDate" Click="BtnBindDate_OnClick" Content="SetCurrentDate"/>

Cs代码:

private void BindData(int visitorId)
{
    using (var context = SampleContext.GetContext())
    {
        var visitor = context.Visitors.FirstOrDefault(x => x.VisitorId == visitorId);
        MyCalender.DataContext = visitor;
    }
}

private void BtnBindDate_OnClick(object sender, RoutedEventArgs e)
{
    var id = int.Parse(TxtVisitorId.Text);
    BindData(id);
}

访客类:

public class Visitor
{
    [Key]
    public int VisitorId { get; set; }
    public string Name { get; set; }
    public DateTime RegisterDate { get; set; }
}