Как изменить метку кнопки по умолчанию No Preference в FormFlow

Есть ли способ изменить метку кнопки «Нет предпочтений» по умолчанию при обновлении пользовательских входов для чтения, например. «Я не хочу ничего менять». без добавления нового файла Resources.*.resx? Кнопка без настроек с меткой по умолчанию

Я перепробовал все шаблоны, которые позволяют изменять такие литералы, но не нашел ни одного, который смог бы этого добиться. TemplateUsage.NoPreference можно использовать для изменения только значения необязательного поля, но не метки кнопки.


person Michal Founě    schedule 02.01.2018    source источник


Ответы (1)


Вы можете сделать это, переопределив значение Template в вашем FormFlow.

Вот пример, основанный на 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();
}

Захват демо:

демонстрация

person Nicolas R    schedule 02.01.2018