mcpField
S
syncfusion-maui-chat

syncfusion-maui-chat

github.com/syncfusionDesign & UI61207 installsUpdated 2w ago
Repository

About syncfusion-maui-chat

A guide for .NET MAUI developers using Syncfusion SfChat to build chatbot, customer support, or multi-user messaging interfaces. It covers rich message types, data binding, interactions, styling, and accessibility.

Key features

  1. 01Text, image, card, and date/time messages
  2. 02Message data binding with MVVM
  3. 03Input view, suggestions, and typing indicators
  4. 04History loading and automatic scrolling
  5. 05Message styling, themes, localization, and RTL

Use cases

  1. 01Build a chatbot or customer support interface
  2. 02Display multi-user conversations with rich content
  3. 03Load older messages and show typing status
  4. 04Customize message appearance and localization

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/syncfusion/maui-ui-components-skills --skill syncfusion-maui-chat

After installing, type/syncfusion-maui-chatin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
accessibility-localization.md
advanced-features.md
data-binding.md
events.md
getting-started.md
load-more.md
messages.md
scrolling.md
styles.md
suggestions.md
typing-indicator.md

Details

From the project README

Syncfusion® .NET MAUI Chat (SfChat)

The Syncfusion .NET MAUI Chat control (SfChat) delivers a contemporary conversational UI for building chatbot interfaces, customer support screens, and multi-user messaging experiences. It supports rich message types, real-time typing indicators, suggestions, load-more history, swiping, and deep styling customization.

When to Use This Skill

  • Building a chat UI, chatbot interface, or messaging screen in .NET MAUI
  • Displaying conversations between two or more users
  • Sending/receiving text, images, cards, hyperlinks, or date/time picker messages
  • Implementing typing indicators, message suggestions, or load-more history
  • Customizing message appearance, shapes, delivery states, or themes
  • Adding swipe actions, time-break grouping, or attachment buttons
  • Localizing the chat UI or enabling accessibility features

Component Overview

SfChat is a powerful, customizable conversational control that:

  • Shows incoming and outgoing messages in a chat layout
  • Supports text, avatars, timestamps, and custom message designs
  • Binds easily to data using ItemsSource and MVVM
  • Allows UI customization with templates and styles
  • Automatically aligns and groups user and other messages
  • Includes a built-in text input with send functionality
  • Supports interactions like sending and tapping messages
  • Can display rich content like images or custom layouts
  • Provides smooth scrolling and auto-scroll to new messages
  • Offers full control over appearance (colors, fonts, bubbles)

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • NuGet installation (Syncfusion.Maui.Chat)
  • Handler registration in MauiProgram.cs
  • Basic SfChat initialization in XAML and C#
  • ViewModel setup with Messages and CurrentUser
  • Binding messages to the chat control
  • Running the application
Messages

📄 Read: references/messages.md

  • TextMessage, DatePickerMessage, TimePickerMessage, CalendarMessage
  • HyperlinkMessage, ImageMessage, CardMessage
  • Delivery states (ShowDeliveryState, DeliveryState enum, custom icons)
  • Pin message (AllowPinning, PinnedMessages, events, template)
  • Message template and ChatMessageTemplateSelector
  • Customizable incoming/outgoing views
  • Message spacing, shape, timestamp format, avatar/author visibility
  • Sending messages, keyboard, multiline input, hide input view
Data Binding

📄 Read: references/data-binding.md

  • Binding ObservableCollection<object> to Messages
  • CurrentUser differentiation of sender/receiver
  • Custom data models with IMessage / ITextMessage
  • ItemsSourceConverter for external model binding
  • Dynamically updating messages at runtime
Suggestions

📄 Read: references/suggestions.md

  • Chat-level suggestions (SfChat.Suggestions)
  • Message-level suggestions (TextMessage.Suggestions)
  • SuggestionItemSelected event and command
  • Customizing suggestion item templates
Typing Indicator

📄 Read: references/typing-indicator.md

  • Enabling the typing indicator (ShowTypingIndicator)
  • Setting author and message on TypingIndicator
  • Customizing appearance
  • Showing/hiding dynamically
Load More

📄 Read: references/load-more.md

  • Enabling load more (LoadMoreBehavior)
  • LoadMore event and LoadMoreCommand
  • Loading older messages on scroll
  • IsLazyLoading property
  • Disabling after all messages are loaded
Events & Commands

📄 Read: references/events.md

  • SendMessage / SendMessageCommand
  • ImageTapped / ImageTappedCommand
  • CardTapped / CardCommand
  • SuggestionItemSelected
  • MessagePinned / MessageUnpinned
  • LoadMore / LoadMoreCommand
  • Handling and cancelling event args
Styles & Appearance

📄 Read: references/styles.md

  • Incoming and outgoing message styling
  • Message input view styling
  • Time-break and typing indicator styling
  • Suggestion view styling
  • MessageShape options
  • Theme support (Material 3, Fluent)
Accessibility & Localization

📄 Read: references/accessibility-localization.md

  • WCAG 2.0 compliance
  • Keyboard navigation and screen reader support
  • AutomationId for UI testing
  • Localization with .resx resource files
  • Supported localizable strings
  • RTL layout support
Scrolling

📄 Read: references/scrolling.md

  • Programmatic scroll to a specific message (ScrollToMessage)
  • Auto-scroll to bottom on new message (CanAutoScrollToBottom)
  • Scroll to bottom floating button (ShowScrollToBottomButton)
  • Customizing the scroll to bottom button (ScrollToBottomButtonTemplate)
  • Scrolled event and ChatScrolledEventArgs (IsBottomReached, IsTopReached, ScrollOffset)
Advanced Features

📄 Read: references/advanced-features.md

  • Message swiping (left/right, SwipeStarted, SwipeEnded, swipe templates)
  • Time-break grouping (custom time-break template)
  • Attachment button (adding, customizing, AttachmentButtonView)
  • Liquid glass effect (enabling, platform support, customization)
  • MessageSpacing configuration
  • Hiding the message input view (ShowMessageInputView)

Comments

Markdown supported