簡體   English   中英

更改自適應卡片機器人框架的分隔符屬性

[英]Change separator property of a adaptive card 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,                                        
});

順便說一句,凱爾的回答是正確的,如果您不是渲染卡片的人,則無法更改分隔符。

就在您的代碼示例中,您應該真正了解自適應卡片模板。 https://docs.microsoft.com/en-us/adaptive-cards/templating/

它使整個故事變得容易得多。

首先,您需要了解自適應卡片的用途。 當您創作一張自適應卡片時,您有意放棄了對該卡片外觀的大量控制。 這是因為自適應卡片旨在適應其環境,因此它們看起來像是屬於任何呈現它們的應用程序。 您嘗試對分隔符進行的控制實際上是不取決於卡片作者的事情之一,而是取決於卡片渲染器

其次,您需要考慮代碼中的一些危險信號。 您使用的AdaptiveCards庫實際上包含可供卡片作者使用的代碼以及可供卡片渲染器使用的代碼。 SeparatorConfig class 位於AdaptiveCards.Rendering命名空間中,這意味着它旨在供渲染器使用。 另請注意,當您創建SeparatorConfig object 並為其屬性分配值時,您實際上並沒有將其傳遞給AdaptiveTextBlock或根本沒有對其進行任何操作。

如果您可以控制客戶端應用程序,則只能配置分隔符。 如果您使用的是其他人的客戶端應用程序,例如 Microsoft Teams,那么您必須接受分隔符的外觀不是您可以配置的。 如果您正在制作自己的客戶端應用程序,則可以使用HostConfig自定義分隔符。

有關自適應卡片的更多信息,請參閱我的最新博客文章

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM