mcpField
S
syncfusion-maui-chat

syncfusion-maui-chat

github.com/syncfusion设计与 UI61207 次安装2 周前更新
代码仓库

关于 syncfusion-maui-chat

面向 .NET MAUI 开发者的 Syncfusion SfChat 实现指南,可用于聊天机器人、客服和多人消息界面。指南涵盖多种消息类型、数据绑定、交互、样式及无障碍功能。

主要功能

  1. 01支持文本、图片、卡片和日期时间消息
  2. 02通过数据绑定和 MVVM 管理消息
  3. 03提供输入框、建议和输入状态指示
  4. 04支持历史消息加载与自动滚动
  5. 05支持消息样式、主题、本地化和 RTL

适用场景

  1. 01构建聊天机器人或客服界面
  2. 02展示多人对话和丰富消息内容
  3. 03加载较早消息并显示输入状态
  4. 04定制消息样式并支持本地化

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/syncfusion-maui-chat确认已加载。

包含的文件

除 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

详细介绍

Syncfusion® .NET MAUI Chat(SfChat)

Syncfusion .NET MAUI Chat 控件(SfChat)提供现代化的对话式 UI,可用于构建聊天机器人界面、客户支持屏幕和多人消息传递体验。它支持丰富的消息类型、实时输入指示器、建议、加载更多历史记录、滑动操作以及深度样式自定义。

何时使用此技能

  • 在 .NET MAUI 中构建聊天 UI、聊天机器人界面或消息屏幕
  • 显示两个或多个用户之间的对话
  • 发送/接收文本、图像、卡片、超链接或日期/时间选择器消息
  • 实现输入指示器、消息建议或加载更多历史记录
  • 自定义消息外观、形状、发送状态或主题
  • 添加滑动操作、时间分隔分组或附件按钮
  • 本地化聊天 UI 或启用无障碍功能

组件概述

SfChat 是一款功能强大且可自定义的对话控件,可:

  • 在聊天布局中显示收到和发出的消息
  • 支持文本、头像、时间戳和自定义消息设计
  • 使用 ItemsSource 和 MVVM 轻松绑定数据
  • 通过模板和样式自定义 UI
  • 自动对齐和分组用户消息与其他消息
  • 内置支持发送功能的文本输入框
  • 支持发送和点击消息等交互
  • 显示图像或自定义布局等丰富内容
  • 提供流畅滚动和新消息自动滚动
  • 全面控制外观(颜色、字体、气泡)

文档与导航指南

入门

📄 阅读: references/getting-started.md

  • NuGet 安装(Syncfusion.Maui.Chat)
  • 在 MauiProgram.cs 中注册处理程序
  • 在 XAML 和 C# 中初始化基本的 SfChat
  • 使用 Messages 和 CurrentUser 设置 ViewModel
  • 将消息绑定到聊天控件
  • 运行应用程序
消息

📄 阅读: references/messages.md

  • TextMessage、DatePickerMessage、TimePickerMessage、CalendarMessage
  • HyperlinkMessage、ImageMessage、CardMessage
  • 发送状态(ShowDeliveryState、DeliveryState 枚举、自定义图标)
  • 固定消息(AllowPinning、PinnedMessages、事件、模板)
  • 消息模板和 ChatMessageTemplateSelector
  • 可自定义的收到消息/发出消息视图
  • 消息间距、形状、时间戳格式、头像/作者可见性
  • 发送消息、键盘、多行输入、隐藏输入视图
数据绑定

📄 阅读: references/data-binding.md

  • 将 ObservableCollection<object> 绑定到 Messages
  • 使用 CurrentUser 区分发送者/接收者
  • 使用 IMessage / ITextMessage 创建自定义数据模型
  • 使用 ItemsSourceConverter 绑定外部模型
  • 在运行时动态更新消息
建议

📄 阅读: references/suggestions.md

  • 聊天级建议(SfChat.Suggestions)
  • 消息级建议(TextMessage.Suggestions)
  • SuggestionItemSelected 事件和命令
  • 自定义建议项模板
输入指示器

📄 阅读: references/typing-indicator.md

  • 启用输入指示器(ShowTypingIndicator)
  • 在 TypingIndicator 中设置作者和消息
  • 自定义外观
  • 动态显示/隐藏
加载更多

📄 阅读: references/load-more.md

  • 启用加载更多(LoadMoreBehavior)
  • LoadMore 事件和 LoadMoreCommand
  • 滚动时加载较早的消息
  • IsLazyLoading 属性
  • 加载完所有消息后禁用
事件与命令

📄 阅读: references/events.md

  • SendMessage / SendMessageCommand
  • ImageTapped / ImageTappedCommand
  • CardTapped / CardCommand
  • SuggestionItemSelected
  • MessagePinned / MessageUnpinned
  • LoadMore / LoadMoreCommand
  • 处理和取消事件参数
样式与外观

📄 阅读: references/styles.md

  • 收发消息的样式
  • 消息输入视图的样式
  • 时间分隔符和正在输入指示器的样式
  • 建议视图的样式
  • MessageShape 选项
  • 主题支持(Material 3、Fluent)
无障碍与本地化

📄 阅读: references/accessibility-localization.md

  • 符合 WCAG 2.0
  • 键盘导航和屏幕阅读器支持
  • 用于 UI 测试的 AutomationId
  • 使用 .resx 资源文件进行本地化
  • 支持本地化的字符串
  • 支持 RTL 布局
滚动

📄 阅读: references/scrolling.md

  • 以编程方式滚动到指定消息(ScrollToMessage)
  • 新消息到达时自动滚动到底部(CanAutoScrollToBottom)
  • 滚动到底部的悬浮按钮(ShowScrollToBottomButton)
  • 自定义滚动到底部按钮(ScrollToBottomButtonTemplate)
  • Scrolled 事件和 ChatScrolledEventArgs(IsBottomReached、IsTopReached、ScrollOffset)
高级功能

📄 阅读: references/advanced-features.md

  • 消息滑动(向左/向右、SwipeStarted、SwipeEnded、滑动模板)
  • 时间分隔符分组(自定义时间分隔符模板)
  • 附件按钮(添加、自定义、AttachmentButtonView)
  • 液态玻璃效果(启用、平台支持、自定义)
  • MessageSpacing 配置
  • 隐藏消息输入视图(ShowMessageInputView)

评论

支持 Markdown