Как исправить рендеринг адаптивной карты в модуле задач с определенной шириной?

#c# #botframework #microsoft-teams #adaptive-cards

#c# #ботфреймворк #microsoft-команды #адаптивные карты #botframework #microsoft-teams

Вопрос:

Я рендерингую адаптивную карту в командах с модулем задач. Здесь проблема в том, что я задаю ширину столбца как растянутую, но когда я вижу JSON, ширина изменилась на auto.

Я также пытался указать ширину в пикселях; это также не работает. Я возвращаю это вложение в модуль задачи, который будет показан в виде модального. Здесь я задал ширину столбца как stretch , но ширина устанавливается на auto, что вызывает проблему с выравниванием. У вас есть какое-либо решение?

C#:

 Attachment attachment;
AdaptiveCard card = new AdaptiveCard("1.0");
var body = new List<AdaptiveElement>();
var mainContainer = new AdaptiveContainer();
var container2 = new AdaptiveContainer();
for (int j = 0; j < details.SelectedProjects.Count; j  ) {
    var columnSetWbse = new AdaptiveColumnSet();
    var columnWbse = new AdaptiveColumn();
    columnWbse.Width = AdaptiveColumnWidth.Stretch;
    columnWbse.Spacing = AdaptiveSpacing.Defau<
    if (j == 0) {
        AdaptiveTextBlock txtBlkWbseHeader = new AdaptiveTextBlock {
            Weight = AdaptiveTextWeight.Default,
            Text = Helper.Constants.WBSE,
            HorizontalAlignment = AdaptiveHorizontalAlignment.Left,
            Wrap = true,
            Spacing = AdaptiveSpacing.Default,
        };
        columnWbse.Items.Add(txtBlkWbseHeader);
    }
    AdaptiveTextBlock txtBlkWbse = new AdaptiveTextBlock {
        Weight = AdaptiveTextWeight.Default,
        Text = details.SelectedProjects[j].Description,
        HorizontalAlignment = AdaptiveHorizontalAlignment.Left,
        Wrap = true,
        Spacing = AdaptiveSpacing.Default,
    };
    columnWbse.Items.Add(txtBlkWbse);
    columnSetWbse.Columns.Add(columnWbse);

    //Loop for no. of days
    for (int i = 0; i < loop; i  ) {
        var columnWbseinput = new AdaptiveColumn();
        columnWbseinput.Spacing = AdaptiveSpacing.Defau<
        columnWbseinput.Width = AdaptiveColumnWidth.Stretch;
        if (j == 0) {
            AdaptiveTextBlock txtBlkDte = new AdaptiveTextBlock {
                Weight = AdaptiveTextWeight.Default,
                Text = details.PeriodEnd.AddDays( - loop   i   1).ToString("ddd")   " "   details.PeriodEnd.AddDays( - loop   i   1).ToString("MM/dd", CultureInfo.GetCultureInfo("en-US")),
                HorizontalAlignment = AdaptiveHorizontalAlignment.Left,
                Wrap = true,
                Size = AdaptiveTextSize.Default,
                Spacing = AdaptiveSpacing.Default,
            };
            columnWbseinput.Items.Add(txtBlkDte);
        }
        AdaptiveNumberInput wbseInput = new AdaptiveNumberInput() {
            Id = "txtHrs"   "-"   details.PeriodEnd.AddDays( - loop   i   1).ToString("MM/dd/yyyy", CultureInfo.GetCultureInfo("en-US"))   "-"   details.SelectedProjects[j].Code,
            Min = 0,
            Max = 2,
            Value = (details.PeriodEnd.AddDays( - loop   i   1).ToString("ddd") == "Sat" || details.PeriodEnd.AddDays( - loop   i   1).ToString("ddd") == "Sun") ? 0 : 8,
            Spacing = AdaptiveSpacing.Default,
        };
        columnWbseinput.Items.Add(wbseInput);
        columnSetWbse.Columns.Add(columnWbseinput);
    }
    container2.Items.Add(columnSetWbse);
}
mainContainer.Items.Add(container2);
body.Add(mainContainer);
card.Body = body;

card.Actions = new List<AdaptiveAction>() {
    new AdaptiveSubmitAction() {
        Data = details,
        Title = "Save and exit",
    }
};

attachment = new Attachment() {
    ContentType = AdaptiveCard.ContentType,
    Content = card
};
return attachment;
  

Комментарии:

1. Здесь, когда я использую необработанный json с предварительно заполненными значениями, он возвращается с шириной столбца как растянутый, но не из кода c #.

2. Где вы видите, что для ширины столбца установлено значение auto?

3. Извините, столбцы установлены только как растянутые, я думаю, проблема в чем-то другом.

Ответ №1:

Это проблема с набором столбцов, поэтому я использовал только 1 набор столбцов вместо создания в цикле и определения ширины.

Комментарии:

1. Нет, но проблема не в этом, проблема связана с выравниванием.

2. Хотели бы вы принять свой ответ на этот вопрос, а затем решить проблему выравнивания отдельно?

3. Да, это было бы здорово!