在FormFlow中显示Datepicker(Bot框架)

时间:2017-12-29 05:52:23

标签: c# botframework

我正在我的一个机器人项目中研究机器人框架的FormFlow功能。机器人需要从用户那里获得有关日期范围(From和To)的输入。表单流程有效,但机器人需要在字符串中输入DateTime。为了避免人为错误,我希望它是一个Date选择器(就像自适应卡中的那个),而不是来自用户的字符串输入。

我尝试明确设置字段类型但由于某种原因它不起作用。请参阅下面的代码。

    [Serializable]
    public class Leave
    {
        [Prompt("Select type of leave you want to apply.")]
        public LeaveTypeEnum LeaveType;

        [Prompt("Vacations from date")]
        public DateTime? From;

        [Prompt("To date")]
        public DateTime? To;



        public static IForm<Leave> BuildForm()
        {
            return new FormBuilder<Leave>().Message
            ("Fill in the form.")
                .Field(new FieldReflector<Leave>(nameof(From)).SetType(typeof(DateTime)))
                .Field(nameof(From))
                .Field(nameof(To))
                .Build();
        }
    }

enter image description here

我们可以显示datepicker吗?

1 个答案:

答案 0 :(得分:0)

简短的回答是否定的,botframework中没有DatePicker组件。

处理日期时间输入

您应该通过使用Microsoft的<svg> GitHub项目来提供来自用户的文本的日期时间并处理多种格式:documentation

它用于解析多种类型的文本输入,Recognizers-Text是提供的类型之一。它在https://github.com/Microsoft/Recognizers-Text个包中提供。