using Avalonia.ReactiveUI; using Avalonia.Markup.Xaml; using AuroraDesk.Presentation.ViewModels.Pages; using ReactiveUI; using System.Reactive.Disposables; namespace AuroraDesk.Presentation.Views.Pages; /// /// 图标导航页面的 View /// 优化:使用 WhenActivated 管理生命周期,避免不必要的重新渲染 /// public partial class IconsPageView : ReactiveUserControl { public IconsPageView() { InitializeComponent(); // 使用 WhenActivated 管理视图生命周期 // 这样可以优化视图激活时的性能,避免不必要的操作 this.WhenActivated(disposables => { // 视图激活时的处理 // 注意:HeroIcons 的 getter 已经处理了延迟加载,这里不需要额外操作 // 视图缓存已经在 ViewLocator 中实现,避免重复创建视图 }); } private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } }