using AI.Models; namespace AI.ViewModels { /// /// 会话列表项的 ViewModel /// public class ChatSessionItemViewModel : ViewModelBase { private readonly ChatSession _session; private bool _isSelected; public ChatSessionItemViewModel(ChatSession session) { _session = session ?? throw new ArgumentNullException(nameof(session)); } /// /// 会话ID /// public string Id => _session.Id; /// /// 会话标题 /// public string Title { get => _session.Title; set { if (_session.Title != value) { _session.Title = value; OnPropertyChanged(); } } } /// /// 创建时间 /// public DateTime CreatedAt => _session.CreatedAt; /// /// 最后更新时间 /// public DateTime UpdatedAt => _session.UpdatedAt; /// /// 消息数量 /// public int MessageCount => _session.MessageCount; /// /// 是否被选中 /// public bool IsSelected { get => _isSelected; set => SetProperty(ref _isSelected, value); } /// /// 获取底层会话对象 /// public ChatSession Session => _session; /// /// 更新显示信息(当会话变化时调用) /// public void Refresh() { OnPropertyChanged(nameof(Title)); OnPropertyChanged(nameof(UpdatedAt)); OnPropertyChanged(nameof(MessageCount)); } } }