skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
syncfusion/wpf-ui-components-skills141 installs

syncfusion-wpf-ai-assistview

Implement Syncfusion WPF SfAIAssistView for AI chat and conversational assistant interfaces. Use this when building AI assistant UIs, message threads with AI responses, or integrating OpenAI/SemanticKernel in WPF. Covers typing indicators, suggestions, input/response toolbars, stop-responding features, and PromptRequest events using Syncfusion.SfChat.Wpf.

How do I install this agent skill?

npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-ai-assistview
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The skill provides comprehensive documentation and code examples for implementing Syncfusion's WPF AI AssistView control. It follows standard development practices, uses secure placeholders for API keys, and utilizes official vendor and well-known libraries.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

Implementing SfAIAssistView (WPF)

When to Use This Skill

Use this skill when:

  • Building AI chat or assistant UIs in WPF
  • Displaying message threads with user and AI responses
  • Integrating OpenAI or SemanticKernel with a chat interface
  • Showing typing indicators while AI processes a response
  • Adding suggestion chips after AI responses
  • Customizing input/response toolbars
  • Handling PromptRequest events or Stop Responding functionality
  • Rendering Markdown in AI responses via ViewTemplateSelector

NuGet Package: Syncfusion.SfChat.Wpf Namespace: Syncfusion.UI.Xaml.Chat Key Classes: SfAIAssistView, TextMessage, AIMessage, Author, TypingIndicator


Quick Start

<!-- MainWindow.xaml -->
<Window xmlns:syncfusion="clr-namespace:Syncfusion.UI.Xaml.Chat;assembly=Syncfusion.SfChat.WPF">
    <Grid>
        <Grid.DataContext>
            <local:ViewModel/>
        </Grid.DataContext>
        <syncfusion:SfAIAssistView
            Messages="{Binding Chats}"
            CurrentUser="{Binding CurrentUser}"
            Suggestions="{Binding Suggestions}"
            ShowTypingIndicator="{Binding ShowTypingIndicator}"
            TypingIndicator="{Binding TypingIndicator}" />
    </Grid>
</Window>
// ViewModel.cs
public class ViewModel : INotifyPropertyChanged
{
    public ObservableCollection<object> Chats { get; set; }
    public Author CurrentUser { get; set; }

    public ViewModel()
    {
        Chats = new ObservableCollection<object>();
        CurrentUser = new Author { Name = "User" };
        Chats.Add(new TextMessage
        {
            Author = CurrentUser,
            Text = "Hello, how can you help me?"
        });
        Chats.Add(new TextMessage
        {
            Author = new Author { Name = "AI" },
            Text = "I can answer questions and help with tasks."
        });
    }
}

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • NuGet installation and assembly references
  • XAML namespace and control declaration
  • ViewModel setup with ObservableCollection<object>
  • TextMessage + Author binding pattern
  • CurrentUser configuration
  • Theme integration

OpenAI Integration

📄 Read: references/openai-integration.md

  • Microsoft.SemanticKernel NuGet setup
  • IChatCompletionService + Kernel configuration
  • AIAssistChatService pattern for async responses
  • CollectionChanged trigger to invoke AI calls
  • AIMessage with ContentTemplate (AI icon)
  • ViewTemplateSelector for Markdown rendering via MdXaml
  • Coordinating ShowTypingIndicator with async operations

Suggestions & Typing Indicator

📄 Read: references/suggestions-and-typing-indicator.md

  • Suggestions property (IEnumerable<string>) binding
  • Updating suggestion chips after AI response
  • TypingIndicator object setup in ViewModel
  • ShowTypingIndicator property
  • Toggling indicator on/off with async AI calls

Input Toolbar

📄 Read: references/input-toolbar.md

  • IsInputToolbarVisible property
  • InputToolbarPosition (Left/Right)
  • InputToolbarItem (ItemTemplate, IsEnabled, Tooltip, Visible)
  • InputToolbarItemClicked event handling
  • InputToolbarHeaderTemplate for file-upload-style headers

Response Toolbar

📄 Read: references/response-toolbar.md

  • IsResponseToolbarVisible property
  • Built-in toolbar items: Copy, Regenerate, Like, Dislike
  • ResponseToolbarItem with Index, ItemType, ItemTemplate
  • ResponseToolbarItemClicked event handling
  • Custom item template examples

Events & Stop Responding

📄 Read: references/events-and-stop-responding.md

  • PromptRequest event + PromptRequestEventArgs
  • InputMessage and Handled property pattern
  • EnableStopResponding property
  • StopResponding event and StopRespondingCommand (MVVM)
  • StopRespondingTemplate customization

Key Properties

PropertyTypePurpose
MessagesObservableCollection<object>Chat message collection
CurrentUserAuthorIdentifies the local user
SuggestionsIEnumerable<string>Suggestion chips shown after AI response
ShowTypingIndicatorboolShows/hides typing animation
TypingIndicatorTypingIndicatorTyping indicator with Author
IsInputToolbarVisibleboolShows custom input toolbar (default: false)
IsResponseToolbarVisibleboolShows response toolbar (default: true)
EnableStopRespondingboolEnables Stop Responding button (default: false)
ViewTemplateSelectorDataTemplateSelectorCustom rendering per message type

Common Patterns

User sends message → AI responds

// Subscribe to CollectionChanged on Chats
Chats.CollectionChanged += async (s, e) =>
{
    if (e.Action == NotifyCollectionChangedAction.Add
        && e.NewItems[0] is TextMessage msg
        && msg.Author.Name == CurrentUser.Name)
    {
        ShowTypingIndicator = true;
        var reply = await aiService.GetResponseAsync(msg.Text);
        Chats.Add(new AIMessage { Author = aiAuthor, Text = reply });
        ShowTypingIndicator = false;
    }
};

Adding suggestions after AI response

Suggestions = new List<string> { "Tell me more", "Give an example", "Summarize" };

Handling PromptRequest event

<syncfusion:SfAIAssistView PromptRequest="OnPromptRequest" />
private void OnPromptRequest(object sender, PromptRequestEventArgs e)
{
    // e.InputMessage contains the user's text
    e.Handled = true; // Prevent default processing
}

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/syncfusion/wpf-ui-components-skills/syncfusion-wpf-ai-assistview">View syncfusion-wpf-ai-assistview on skillZs</a>