Добавить столбец с изображением и текстовым блоком в поле ввода типа фреймворка бота c# - PullRequest
0 голосов
/ 13 апреля 2020

Я работаю над адаптивной картой в Bot Framework v3, используя c#. Я хочу иметь поля выбора ввода, и каждый вариант выбора имеет изображение и текстовое поле. как это возможно, и если да, то как мы можем этого достичь, как показано ниже

enter image description here

Пробный код:

var choiceinput = new AdaptiveChoiceSetInput(); 
var Choices = new List<AdaptiveChoice>(); 
card.Body.Add(choiceinput); 
Choices.Add();

1 Ответ

0 голосов
/ 15 апреля 2020

то, что вы пытаетесь достичь, невозможно, используя только ChoiceSets. ChoiceSets - это в значительной степени пары ключ-значение.

Однако вы можете использовать комбинацию input.toggle и ColumnSets, например, здесь:

{
"type": "AdaptiveCard",
"body": [
    {
        "type": "ColumnSet",
        "columns": [
            {
                "width": "10px",
                "type": "Column",
                "items": [
                    {
                        "type": "Input.Toggle"
                    }
                ],
                "verticalContentAlignment": "Center"
            },
            {
                "width": "45px",
                "type": "Column",
                "items": [
                    {
                        "type": "Image",
                        "style": "Person",
                        "url": "https://graph.facebook.com/1989019881113809/picture?type=large",
                        "width": "45px"
                    }
                ]
            },
            {
                "width": "stretch",
                "type": "Column",
                "items": [
                    {
                        "text": "Jack Maa",
                        "type": "TextBlock",
                        "weight": "Bolder"
                    },
                    {
                        "text": "Advisor - Scale Prediction & Control",
                        "type": "TextBlock"
                    }
                ]
            }
        ]
    },
    {
        "type": "ColumnSet",
        "columns": [
            {
                "width": "10px",
                "type": "Column",
                "items": [
                    {
                        "type": "Input.Toggle"
                    }
                ],
                "verticalContentAlignment": "Center"
            },
            {
                "width": "45px",
                "type": "Column",
                "items": [
                    {
                        "type": "Image",
                        "style": "Person",
                        "url": "https://graph.facebook.com/1989019881113809/picture?type=large",
                        "width": "45px"
                    }
                ]
            },
            {
                "width": "stretch",
                "type": "Column",
                "items": [
                    {
                        "text": "Mayuresh Jaiswal",
                        "type": "TextBlock",
                        "weight": "Bolder"
                    },
                    {
                        "text": "Water Treatment Advisor",
                        "type": "TextBlock"
                    }
                ]
            }
        ]
    }
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1000.0"

}

Конечная карта будет выглядеть так:

enter image description here

Однако я бы действительно посоветовал взглянуть на шаблоны. Сборка сложных карт на самом деле не очень хороша в c# напрямую, а шаблоны делают вещи для вас в сценарии ios намного проще, чем в любом другом.

https://docs.microsoft.com/en-us/adaptive-cards/templating/

...