Как исправить рендеринг адаптивной карты в модуле задач с определенной шириной? - PullRequest
1 голос
/ 04 апреля 2019

Я рендеринг адаптивной карты в командах с модулем задачи.Здесь проблема в том, что я даю ширину столбца как растяжение, но когда я вижу JSON, ширина изменилась на 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.Default;
    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.Default;
        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 Ответ

0 голосов
/ 05 апреля 2019

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

...