旺旺号查询网站怎么做,wordpress 医院模板,wpf做的网站,怎么自己做淘宝客网站我想...1 简单要求#xff1a;使用开源控件库在XAML中声明托盘菜单#xff0c;就像给控件添加ContextMenu一样封装了常用命令#xff0c;比如#xff1a;打开主窗体、退出应用程序等TerminalMACS我在TerminalMACS中添加了托盘菜单#xff0c;最终实现的托盘菜单效果#… 我想...1 简单要求使用开源控件库在XAML中声明托盘菜单就像给控件添加ContextMenu一样封装了常用命令比如打开主窗体、退出应用程序等TerminalMACS我在TerminalMACS中添加了托盘菜单最终实现的托盘菜单效果TerminalMACS中实现的托盘菜单完整效果2 如何做【Step 1】在已创建的WPF项目中添加HandyControl库并安装Nuget中搜索HandyControl你问我为什么要使用HC控件库先看Demo效果常规菜单图形化菜单闪烁的托盘菜单图标常用的托盘效果应该都能满足了吧而实现这些效果我们自己要码的代码真的不多因为HC已经封装了我们直接使用即可。【Step 2】在窗体中添加HandyControl命名空间xmlns:hchttps://handyorg.github.io/handycontrol
【Step 3】声明托盘菜单关键的19行代码hc:NotifyIcon x:NameNotifyIconContextContent Text{markup:I18n {x:Static i18NResources:Language.AppTitle}}VisibilityVisibleIcon/Images/logo.icohc:NotifyIcon.ContextMenuContextMenuMenuItem Commandhc:ControlCommands.PushMainWindow2Top Header{markup:I18n {x:Static i18NResources:Language.PushMainWindow2Top}}/MenuItem Commandhc:ControlCommands.ShutdownApp Header{markup:I18n {x:Static i18NResources:Language.Exit}}//ContextMenu/hc:NotifyIcon.ContextMenuhc:Interaction.Triggershc:EventTrigger EventNameClickhc:EventToCommand Commandhc:ControlCommands.PushMainWindow2Top//hc:EventTrigger/hc:Interaction.Triggers/hc:NotifyIcon
上面的代码一个托盘菜单基本上算完事了简单说一下NotifyIcon为托盘菜单控件Text显示托盘菜单名称将鼠标放在托盘图标上ToolTip显示该字符串一般显示应用程序名称如下图托盘菜单显示应用名称hc:NotifyIcon.ContextMenu 用于声明菜单项本项目目前加了打开主窗体、退出应用程序两个菜单而这两个菜单对应的命令HC已经封装方便使用。另外单击托盘菜单也可弹出应用程序主窗口【Step 4】手动关闭主窗体时隐藏而不退出添加了托盘菜单后在关闭主窗体时应该重写OnClosing事件隐藏主窗体而不是直接关闭它。protected override void OnClosing(CancelEventArgs e){ this.Hide(); e.Cancel true;}
3 更多参考更多Demo源码请参考 HandyControl[1]本文源码TerminalMACS[2][1]HandyControl托盘菜单: https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/NotifyIconDemoCtl.xaml[2]TerminalMACS WPF管理端: https://github.com/dotnet9/TerminalMACS/blob/master/src/TerminalMACS.Manager/TerminalMACS.ManagerForWPF/TerminalMACS/Views/MainWindow.xaml