using ReactiveUI;
namespace AuroraDesk.Core.Interfaces;
///
/// PageViewModel 工厂接口
///
public interface IPageViewModelFactory
{
///
/// 创建指定类型的 PageViewModel
///
/// ViewModel 类型
/// IScreen 实例
/// 创建的 ViewModel 实例
T CreatePageViewModel(IScreen screen) where T : IRoutableViewModel;
///
/// 根据页面 ID 创建 PageViewModel
///
/// 页面标识符
/// IScreen 实例
/// 创建的 ViewModel 实例
IRoutableViewModel CreatePageViewModel(string pageId, IScreen screen);
}