在FormFlow中显示Datepicker(Bot框架)

问题描述 投票:0回答:1

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

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

    [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吗?

c# botframework
1个回答
0
投票

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

处理日期时间输入

您应该通过使用Microsoft的Recognizers-Text GitHub项目,通过用户的文本获取日期时间并处理多种格式:https://github.com/Microsoft/Recognizers-Text

它用于解析几种类型的文本输入,DateTime是提供的类型之一。它有NuGet包装。

© www.soinside.com 2019 - 2024. All rights reserved.