You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
using ReactiveUI.Avalonia;
|
|
|
|
|
using Avalonia.Markup.Xaml;
|
|
|
|
|
using AuroraDesk.Presentation.ViewModels.Pages;
|
|
|
|
|
using ReactiveUI;
|
|
|
|
|
using System.Reactive.Disposables;
|
|
|
|
|
|
|
|
|
|
namespace AuroraDesk.Presentation.Views.Pages;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 图标导航页面的 View
|
|
|
|
|
/// 优化:使用 WhenActivated 管理生命周期,避免不必要的重新渲染
|
|
|
|
|
/// </summary>
|
|
|
|
|
public partial class IconsPageView : ReactiveUserControl<IconsPageViewModel>
|
|
|
|
|
{
|
|
|
|
|
public IconsPageView()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
|
|
|
|
// 使用 WhenActivated 管理视图生命周期
|
|
|
|
|
// 这样可以优化视图激活时的性能,避免不必要的操作
|
|
|
|
|
this.WhenActivated(disposables =>
|
|
|
|
|
{
|
|
|
|
|
// 视图激活时的处理
|
|
|
|
|
// 注意:HeroIcons 的 getter 已经处理了延迟加载,这里不需要额外操作
|
|
|
|
|
// 视图缓存已经在 ViewLocator 中实现,避免重复创建视图
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void InitializeComponent()
|
|
|
|
|
{
|
|
|
|
|
AvaloniaXamlLoader.Load(this);
|
|
|
|
|
}
|
|
|
|
|
}
|