using ReactiveUI; namespace AuroraDesk.Presentation.ViewModels.Base; /// /// 可路由的 ViewModel 基类,实现 IRoutableViewModel 接口 /// public abstract class RoutableViewModel : ReactiveObject, IRoutableViewModel { /// /// 路由 URL 路径 /// public string? UrlPathSegment { get; protected set; } = "未知路由"; /// /// 宿主 Screen (IScreen 实例) /// public IScreen HostScreen { get; protected set; } = null!; /// /// 构造函数 /// /// 宿主 Screen /// 路由 URL 路径 protected RoutableViewModel(IScreen hostScreen, string? urlPathSegment = null) { HostScreen = hostScreen; UrlPathSegment = urlPathSegment ?? GetType().Name.Replace("ViewModel", string.Empty); } }