using AuroraDesk.Core.Entities; using System.Collections.ObjectModel; namespace AuroraDesk.Core.Interfaces; /// /// 标签页管理服务接口 /// 负责管理标签页的创建、选择、关闭等操作,分离标签页管理职责 /// public interface ITabManagementService { /// /// 标签页集合 /// ObservableCollection Tabs { get; } /// /// 当前选中的标签页 /// TabItem? SelectedTab { get; set; } /// /// 当前选中标签页变化事件 /// System.IObservable SelectedTabChanged { get; } /// /// 创建或更新标签页 /// void CreateOrUpdateTab(NavigationItem navigationItem, ReactiveUI.IRoutableViewModel viewModel); /// /// 选择标签页 /// void SelectTab(TabItem tab); /// /// 关闭标签页 /// void CloseTab(TabItem tab); /// /// 根据 ViewModel 查找标签页 /// TabItem? FindTabByViewModel(ReactiveUI.IRoutableViewModel viewModel); /// /// 根据 ID 查找标签页 /// TabItem? FindTabById(string tabId); }