using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using System; namespace Hua.Todo.Avalonia.ViewModels; /// /// 应用托盘交互的 ViewModel。 /// 用于为 提供命令与提示文本,并将托盘事件路由到应用层逻辑。 /// public sealed partial class AppTrayViewModel : ObservableObject { private readonly Action _showMainWindow; private readonly Action _exitApplication; /// /// 创建 。 /// /// 托盘提示文本(部分平台有长度限制)。 /// 显示/激活主窗口回调。 /// 退出应用回调(应触发应用生命周期关闭)。 public AppTrayViewModel(string trayTooltipText, Action showMainWindow, Action exitApplication) { TrayTooltipText = trayTooltipText; _showMainWindow = showMainWindow; _exitApplication = exitApplication; ShowMainWindowCommand = new RelayCommand(_showMainWindow); ExitApplicationCommand = new RelayCommand(_exitApplication); } /// /// 托盘提示文本。 /// public string TrayTooltipText { get; } /// /// 显示/激活主窗口命令。 /// public IRelayCommand ShowMainWindowCommand { get; } /// /// 退出应用命令。 /// public IRelayCommand ExitApplicationCommand { get; } }