Изменить свойство разделителя каркаса бота адаптивной карты - PullRequest
0 голосов
/ 05 ноября 2019

Я использую атрибут Разделитель в моем текстовом блоке адаптивной карты, свойство работает, но мне нужно обновить толщину и цвет линии Разделителя ниже, это код, но он не отражается. Я использую Bot Framework v3

SeparatorConfig separatorConfig = new SeparatorConfig();

separatorConfig.LineThickness = 2;
separatorConfig.LineColor = "Black";

card.Body.Add(new AdaptiveTextBlock()
{
    Text = QuestionValue,
    Size = AdaptiveTextSize.Default,
    Weight = AdaptiveTextWeight.Bolder,
    Wrap = true,
    Separator = true,                                        
});

Ответы [ 2 ]

0 голосов
/ 13 ноября 2019

Просто на заметку, ответ от Кайла правильный, вы не можете изменить разделители, если вы не тот, кто отображает карту.

Просто на примере своего кода вы действительно должны узнать о шаблонах Adaptive Card. https://docs.microsoft.com/en-us/adaptive-cards/templating/

это делает всю историю намного проще.

0 голосов
/ 06 ноября 2019

Во-первых, вам нужно понять назначение адаптивных карт. Когда вы создаете адаптивную карту, вы намеренно отказываетесь от контроля над тем, как будет выглядеть эта карта. Это потому, что адаптивные карты предназначены для адаптации к их средам, так что они выглядят так, как будто они принадлежат любому приложению, которое их отображает. Контроль, который вы пытаетесь установить над разделителем, на самом деле является одной из тех вещей, которая зависит не от автора карты, а от карты renderer .

Во-вторых, вам нужнорассмотреть некоторые красные флаги в вашем коде. Библиотека AdaptiveCards, которую вы используете, на самом деле содержит код, который может использоваться авторами карт, а также код, который может использоваться программами визуализации карт. Класс SeparatorConfig находится в пространстве имен AdaptiveCards.Rendering, что означает, что он предназначен для средств визуализации. Также обратите внимание, что когда вы создаете объект SeparatorConfig и присваиваете значения его свойствам, вы фактически не передаете его в AdaptiveTextBlock или вообще ничего с ним не делаете.

Вы можете настроить толькоразделитель, если у вас есть контроль над клиентским приложением. Если вы используете чужое клиентское приложение, такое как Microsoft Teams, вы должны признать, что внешний вид разделителя не настраивается. Если вы создаете свое собственное клиентское приложение, вы можете настроить разделитель, используя HostConfig .

См. мой последний пост в блоге для получения дополнительной информации об адаптивных картах.

...