From 85de76206e50e681390b33e8e686f6d798e4d154 Mon Sep 17 00:00:00 2001 From: Kaviya Srinivasan Date: Mon, 7 Sep 2026 11:45:59 +0530 Subject: [PATCH 1/3] Committing chat conversation history feature for WPF AiAssistView --- wpf-toc.html | 1 + wpf/AI-AssistView/History.md | 198 ++++++++++++++++++ .../wpf_aiassistview_history.png | Bin 0 -> 43819 bytes 3 files changed, 199 insertions(+) create mode 100644 wpf/AI-AssistView/History.md create mode 100644 wpf/AI-AssistView/aiassistview_images/wpf_aiassistview_history.png diff --git a/wpf-toc.html b/wpf-toc.html index 508e9d1493..e52207d64c 100644 --- a/wpf-toc.html +++ b/wpf-toc.html @@ -179,6 +179,7 @@
  • Getting Started
  • Open AI
  • Suggestion
  • +
  • History
  • Typing Indicator
  • Stop Responding
  • Response Toolbar
  • diff --git a/wpf/AI-AssistView/History.md b/wpf/AI-AssistView/History.md new file mode 100644 index 0000000000..6570afe7bd --- /dev/null +++ b/wpf/AI-AssistView/History.md @@ -0,0 +1,198 @@ +--- +layout: post +title: Conversation history in WPF AI AssistView | Syncfusion® +description: Learn how to display, navigate, and manage multiple conversations using conversation history in the Syncfusion® WPF AI AssistView control. +platform: wpf +control: SfAIAssistView +documentation: ug +--- + +# Conversation history in WPF AI AssistView + +The `SfAIAssistView` supports conversation history for creating new chats, preserving previous conversations, and switching between archived conversations through a built-in navigation view. + +## Conversation history + +The `Conversations` property stores the archived conversations displayed in the navigation view. Each conversation is represented by an `AssistConversationItem` that contains a title, start date and time, and a collection of messages. + +### Define the view model + +Create a view model with an `ObservableCollection<AssistConversationItem>` and populate each conversation with its associated messages. + +{% tabs %} +{% highlight c# tabtitle="AIAssistViewModel.cs" %} + +using System; +using System.Collections.ObjectModel; +using Syncfusion.UI.Xaml.Chat; + +namespace AIAssistViewHistoryWPF +{ + public class AIAssistViewModel + { + public ObservableCollection<object> Chats { get; set; } + + public Author CurrentUser { get; set; } + + public ObservableCollection<AssistConversationItem> Conversations { get; set; } + + public AIAssistViewModel() + { + CurrentUser = new Author() { Name = "User" }; + Chats = new ObservableCollection<object>(); + + Conversations = new ObservableCollection<AssistConversationItem>() + { + CreateConversation( + "Scotland", + "Tell me about Scotland.", + "Scotland is known for its historic castles, landscapes, and cultural heritage.", + DateTime.Now.AddHours(-2)), + + CreateConversation( + "Coding practices", + "What are some good coding practices?", + "Use code reviews, unit testing, clear naming, and consistent coding standards.", + DateTime.Now.AddHours(-1)), + + CreateConversation( + "Syncfusion", + "What does Syncfusion provide?", + "Syncfusion provides UI controls and components for .NET applications.", + DateTime.Now) + }; + } + + private AssistConversationItem CreateConversation( + string title, + string requestText, + string responseText, + DateTime dateTime) + { + return new AssistConversationItem() + { + Title = title, + DateTime = dateTime, + AssistItems = new ObservableCollection<object>() + { + new TextMessage() + { + Text = requestText, + DateTime = dateTime, + Author = CurrentUser + }, + new TextMessage() + { + Text = responseText, + DateTime = dateTime.AddMinutes(1), + Author = new Author() { Name = "Syncfusion AI" } + } + } + }; + } + } +} + +{% endhighlight %} +{% endtabs %} + +### Bind conversations to SfAIAssistView + +Set the window's data context and bind the `Conversations` property to display the archived conversations in the navigation view. Set `ShowNavigationView` to `True` because the navigation view is hidden by default. + +{% tabs %} +{% highlight xaml tabtitle="MainWindow.xaml" hl_lines="18 19 20 21" %} + +<Window + x:Class="AIAssistViewHistoryWPF.MainWindow" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="clr-namespace:AIAssistViewHistoryWPF" + xmlns:syncfusion="clr-namespace:Syncfusion.UI.Xaml.Chat;assembly=Syncfusion.SfChat.Wpf" + Title="AI AssistView Conversation History" + Width="1000" + Height="700"> + + <Window.DataContext> + <local:AIAssistViewModel /> + </Window.DataContext> + + <Grid Margin="20"> + <syncfusion:SfAIAssistView + x:Name="aiAssistView" + Messages="{Binding Chats}" + CurrentUser="{Binding CurrentUser}" + Conversations="{Binding Conversations}" + ShowNavigationView="True" + NavigationHeader="Chat History" /> + </Grid> +</Window> + +{% endhighlight %} +{% endtabs %} + +Selecting an archived conversation replaces the current messages with the messages stored in its `AssistItems` collection. The built-in **New Chat** option clears the current conversation and preserves a conversation that contains a request in the history. + +![Conversation history in WPF AI AssistView](aiassistview_images\wpf_aiassistview_history.png) + +## Show or hide the navigation view + +The `ShowNavigationView` property controls the visibility of the conversation history navigation view. Its default value is `false`. + +{% tabs %} +{% highlight xaml tabtitle="MainWindow.xaml" hl_lines="2" %} + +<syncfusion:SfAIAssistView x:Name="aiAssistView" + ShowNavigationView="True" /> + +{% endhighlight %} +{% highlight c# tabtitle="MainWindow.xaml.cs" hl_lines="8" %} + +using System.Windows; + +namespace AIAssistViewHistoryWPF +{ + public partial class MainWindow : Window + { + public MainWindow() + { + InitializeComponent(); + aiAssistView.ShowNavigationView = true; + } + } +} + +{% endhighlight %} +{% endtabs %} + +The built-in hamburger button collapses or expands the navigation view when it is visible. + +## Customize the navigation header + +The `NavigationHeader` property sets the text displayed at the top of the navigation view. Its default value is `string.Empty`. + +{% tabs %} +{% highlight xaml tabtitle="MainWindow.xaml" hl_lines="2" %} + +<syncfusion:SfAIAssistView x:Name="aiAssistView" + NavigationHeader="Chat History" /> + +{% endhighlight %} +{% highlight c# tabtitle="MainWindow.xaml.cs" hl_lines="8" %} + +using System.Windows; + +namespace AIAssistViewHistoryWPF +{ + public partial class MainWindow : Window + { + public MainWindow() + { + InitializeComponent(); + aiAssistView.NavigationHeader = "Chat History"; + } + } +} + +{% endhighlight %} +{% endtabs %} diff --git a/wpf/AI-AssistView/aiassistview_images/wpf_aiassistview_history.png b/wpf/AI-AssistView/aiassistview_images/wpf_aiassistview_history.png new file mode 100644 index 0000000000000000000000000000000000000000..460b73242b4e8f1c215f01ede506806354d039cc GIT binary patch literal 43819 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 z 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 TT4jz~Vvv(LDjl=`+|~aJSrPj9 literal 0 HcmV?d00001 From 641ca85b90f5af8fce3ed011418afc6789939bb5 Mon Sep 17 00:00:00 2001 From: Kaviya Srinivasan Date: Mon, 7 Sep 2026 13:06:08 +0530 Subject: [PATCH 2/3] Corrections --- wpf/AI-AssistView/History.md | 40 ++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/wpf/AI-AssistView/History.md b/wpf/AI-AssistView/History.md index 6570afe7bd..55d843d855 100644 --- a/wpf/AI-AssistView/History.md +++ b/wpf/AI-AssistView/History.md @@ -17,7 +17,7 @@ The `Conversations` property stores the archived conversations displayed in the ### Define the view model -Create a view model with an `ObservableCollection<AssistConversationItem>` and populate each conversation with its associated messages. +Create a view model with an `ObservableCollection` and populate each conversation with its associated messages. {% tabs %} {% highlight c# tabtitle="AIAssistViewModel.cs" %} @@ -30,18 +30,18 @@ namespace AIAssistViewHistoryWPF { public class AIAssistViewModel { - public ObservableCollection<object> Chats { get; set; } + public ObservableCollection Chats { get; set; } public Author CurrentUser { get; set; } - public ObservableCollection<AssistConversationItem> Conversations { get; set; } + public ObservableCollection Conversations { get; set; } public AIAssistViewModel() { CurrentUser = new Author() { Name = "User" }; - Chats = new ObservableCollection<object>(); + Chats = new ObservableCollection(); - Conversations = new ObservableCollection<AssistConversationItem>() + Conversations = new ObservableCollection() { CreateConversation( "Scotland", @@ -73,7 +73,7 @@ namespace AIAssistViewHistoryWPF { Title = title, DateTime = dateTime, - AssistItems = new ObservableCollection<object>() + AssistItems = new ObservableCollection() { new TextMessage() { @@ -103,7 +103,7 @@ Set the window's data context and bind the `Conversations` property to display t {% tabs %} {% highlight xaml tabtitle="MainWindow.xaml" hl_lines="18 19 20 21" %} -<Window + - <Window.DataContext> - <local:AIAssistViewModel /> - </Window.DataContext> + + + - <Grid Margin="20"> - <syncfusion:SfAIAssistView + + + + {% endhighlight %} {% endtabs %} @@ -142,8 +142,8 @@ The `ShowNavigationView` property controls the visibility of the conversation hi {% tabs %} {% highlight xaml tabtitle="MainWindow.xaml" hl_lines="2" %} -<syncfusion:SfAIAssistView x:Name="aiAssistView" - ShowNavigationView="True" /> + {% endhighlight %} {% highlight c# tabtitle="MainWindow.xaml.cs" hl_lines="8" %} @@ -174,8 +174,8 @@ The `NavigationHeader` property sets the text displayed at the top of the naviga {% tabs %} {% highlight xaml tabtitle="MainWindow.xaml" hl_lines="2" %} -<syncfusion:SfAIAssistView x:Name="aiAssistView" - NavigationHeader="Chat History" /> + {% endhighlight %} {% highlight c# tabtitle="MainWindow.xaml.cs" hl_lines="8" %} From ab7186449d43e985edc506d47924a187c9c2007a Mon Sep 17 00:00:00 2001 From: Kaviya-SF5394 Date: Mon, 7 Sep 2026 14:36:18 +0530 Subject: [PATCH 3/3] Rename History.md to history.md --- wpf/AI-AssistView/{History.md => history.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename wpf/AI-AssistView/{History.md => history.md} (100%) diff --git a/wpf/AI-AssistView/History.md b/wpf/AI-AssistView/history.md similarity index 100% rename from wpf/AI-AssistView/History.md rename to wpf/AI-AssistView/history.md