如何更改 FormFlow 中的默认按钮标签 "No Preference"

How to change the default button label "No Preference" in FormFlow

有没有办法在更新用户输入以阅读时修改按钮的默认 "No Preference" 标签,例如"I don't want to change anything." 不引入新的 Resources.*.resx 文件?

我尝试了所有允许更改此类文字的模板,但我发现没有一个可以实现这一点。 TemplateUsage.NoPreference 只能用于更改可选字段的值,不能更改按钮标签。

您可以通过覆盖 FormFlow 中的 Template 值来实现。

这是一个基于 Microsoft.Bot.Sample.SimpleSandwichBot 的示例:

public static IForm<SandwichOrder> BuildForm()
{
    var formBuilder = new FormBuilder<SandwichOrder>()
            .Message("Welcome to the simple sandwich order bot!");

    var noPreferenceStrings = new string[] { "Nothing" };

    // Set the new "no Preference" value
    formBuilder.Configuration.Templates.Single(t => t.Usage == TemplateUsage.NoPreference).Patterns = noPreferenceStrings;

    // Change this one to help detection of what you typed/selected
    formBuilder.Configuration.NoPreference = noPreferenceStrings;

    return formBuilder.Build();
}

演示捕获: