#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. Да, это было бы здорово!