Files
BeWoPlaner/BeWo/View/TemplateSelectors/AiConversationMessageTemplateSelector.cs
2025-04-08 10:22:22 +02:00

39 lines
1.0 KiB
C#

using BeWo.ViewModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
namespace BeWo.View.TemplateSelectors
{
public class AiConversationMessageTemplateSelector : DataTemplateSelector
{
public DataTemplate SystemMessageTemplate { get; set; }
public DataTemplate AssistentMessageTemplate { get; set; }
public DataTemplate UserMessageTemplate { get; set; }
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
if (item is AiConversationMessageVM message)
{
switch (message.Role)
{
case BS.Shared.AiConversationMessageRole.System:
return SystemMessageTemplate;
case BS.Shared.AiConversationMessageRole.Assistent:
return AssistentMessageTemplate;
case BS.Shared.AiConversationMessageRole.User:
return UserMessageTemplate;
default:
break;
}
}
throw new NotImplementedException("AiConversationMessageVM.Role is null");
}
}
}