From 2b8af80f2696277fa3fe7fa086d201f20e31fbda Mon Sep 17 00:00:00 2001 From: KB Bot Date: Wed, 5 Nov 2025 13:14:13 +0000 Subject: [PATCH 1/2] Added new kb article chat-resize-wrap-text-cardaction --- .../chat-resize-wrap-text-cardaction.md | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 knowledge-base/chat-resize-wrap-text-cardaction.md diff --git a/knowledge-base/chat-resize-wrap-text-cardaction.md b/knowledge-base/chat-resize-wrap-text-cardaction.md new file mode 100644 index 000000000..d2f429e07 --- /dev/null +++ b/knowledge-base/chat-resize-wrap-text-cardaction.md @@ -0,0 +1,84 @@ +--- +title: Resizing and Wrapping Text in ChatCardAction for RadChat +description: Learn how to resize and wrap text in ChatCardAction buttons within RadChat cards in UI for WinForms. +type: how-to +page_title: How to Resize and Wrap Text for ChatCardAction in RadChat +meta_title: How to Resize and Wrap Text for ChatCardAction in RadChat +slug: chat-resize-wrap-text-cardaction +tags: chat, ui-for-winforms, chatcardaction, itemformatting, textwrap, resizing +res_type: kb +ticketid: 1702233 +--- + +## Environment + +|Product Version|Product|Author| +|----|----|----| +|2025.3.812|RadChat for WinForms|[Dinko Krastev](https://www.telerik.com/blogs/author/dinko-krastev)| + +## Description + +In the following tutorial, we will demonstrate how to wrap the text in ChatCardAction buttons within RadChat cards. Additionally, we will demonstrate how to increase the size of the entire chat card. + +This knowledge base article also answers the following questions: +- How can I make ChatCardAction text wrap in RadChat? +- How do I increase the size of RadChat cards? +- How to customize the appearance of ChatCardAction buttons? + +## Solution + +To resize and wrap the text in ChatCardAction buttons and increase the size of the RadChat card, use the following approach: + +1. Handle the `ItemFormatting` event of RadChat. +2. Target the `ChatImageCardElement` and its child elements representing the action buttons. +3. Set the `TextWrap` property to enable text wrapping for the action buttons. +4. Customize the size of the card by modifying its child elements. + +### Code Example + +Use this code to enable text wrapping for ChatCardAction buttons and resize the chat card: + +````C# + +private void RadChat1_ItemFormatting1(object sender, ChatItemElementEventArgs e) +{ + CardMessageItemElement cardMessageItemElement = e.ItemElement as CardMessageItemElement; + if (cardMessageItemElement != null) + { + LightVisualElement bubble2 = e.ItemElement.MainMessageElement; + if (e.ItemElement.MainMessageElement is ChatMessageBubbleElement bubbleElement) + { + ChatImageCardElement imageCard = bubbleElement.FindDescendant(); + if (imageCard != null) + { + imageCard.MaxSize = new Size(0,0); + imageCard.Children[0].MinSize= new Size(280, 350); // this is the StackLayoutPanel holding the elements + foreach (LightVisualElement lve in imageCard.Children[0].Children) + { + lve.TextWrap = true; + } + } + } + e.ItemElement.DrawFill = true; + //e.ItemElement.BackColor = Color.LightBlue; + e.ItemElement.TextAlignment = ContentAlignment.MiddleLeft; + e.ItemElement.TextWrap = true; + bubble2.TextWrap = true; + bubble2.MaxSize = new Size(280, 350); + bubble2.MinSize = new Size(280, 350); + } +} + +```` + +### Key Steps + +1. Use the `FindDescendant` method to locate the `ChatImageCardElement`. +2. Access its child elements to customize the `TextWrap` property of action buttons. +3. Adjust the size of the `StackLayoutPanel` holding the card elements to increase the overall card size. + +## See Also + +* [RadChat Overview](https://docs.telerik.com/devtools/winforms/controls/chat/overview) +* [Item Formatting Event](https://docs.telerik.com/devtools/winforms/controls/chat/customizing-appearance/accessing-and-customizing-elements) + From cde4d9522930b208ce013a81bb059b397bfdccea Mon Sep 17 00:00:00 2001 From: Dinko Krastev Date: Wed, 5 Nov 2025 15:22:27 +0200 Subject: [PATCH 2/2] Add KB Image --- .../chat-resize-wrap-text-cardaction.md | 4 ++++ .../chat-resize-wrap-text-cardaction001.png | Bin 0 -> 12812 bytes 2 files changed, 4 insertions(+) create mode 100644 knowledge-base/images/chat-resize-wrap-text-cardaction001.png diff --git a/knowledge-base/chat-resize-wrap-text-cardaction.md b/knowledge-base/chat-resize-wrap-text-cardaction.md index d2f429e07..2345f303a 100644 --- a/knowledge-base/chat-resize-wrap-text-cardaction.md +++ b/knowledge-base/chat-resize-wrap-text-cardaction.md @@ -20,6 +20,8 @@ ticketid: 1702233 In the following tutorial, we will demonstrate how to wrap the text in ChatCardAction buttons within RadChat cards. Additionally, we will demonstrate how to increase the size of the entire chat card. +![WinForms RadChat ChatCardAction](images/chat-resize-wrap-text-cardaction001.png) + This knowledge base article also answers the following questions: - How can I make ChatCardAction text wrap in RadChat? - How do I increase the size of RadChat cards? @@ -34,6 +36,8 @@ To resize and wrap the text in ChatCardAction buttons and increase the size of t 3. Set the `TextWrap` property to enable text wrapping for the action buttons. 4. Customize the size of the card by modifying its child elements. + + ### Code Example Use this code to enable text wrapping for ChatCardAction buttons and resize the chat card: diff --git a/knowledge-base/images/chat-resize-wrap-text-cardaction001.png b/knowledge-base/images/chat-resize-wrap-text-cardaction001.png new file mode 100644 index 0000000000000000000000000000000000000000..fbd64aa198de57cbe0770f513aed0abeb89f8254 GIT binary patch literal 12812 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 literal 0 HcmV?d00001