<hc:NotifyIcon
x:Name="TrayIcon"
Icon="/YourApp;component/Resources/app.ico"
Text="HandyControl Tray Demo"
Visibility="Visible">
<hc:NotifyIcon.ContextMenu>
<ContextMenu>
<MenuItem Header="打开窗口" Click="MenuItem_Open_Click"/>
<MenuItem Header="退出" Click="MenuItem_Exit_Click"/>
</ContextMenu>
</hc:NotifyIcon.ContextMenu>
</hc:NotifyIcon>
private void InitializeTrayIcon()
{
// 直接通过 XAML 定义的 TrayIcon 控制
TrayIcon.DoubleClick += (s, e) => RestoreWindow();
}
private void RestoreWindow()
{
Show();
WindowState = WindowState.Normal;
}
// 右键菜单事件
private void MenuItem_Open_Click(object sender, RoutedEventArgs e) => RestoreWindow();
private void MenuItem_Exit_Click(object sender, RoutedEventArgs e) => Application.Current.Shutdown();
// 窗口关闭时最小化到托盘
protected override void OnClosing(CancelEventArgs e)
{
e.Cancel = true;
Hide();
base.OnClosing(e);
}