好吧我是WPF的新手,但我必须用wpf开发标题中的内容,但不要依赖MVVM。 我跟着这个:
WPF Application that only has a tray icon
我找到了第一个带有hardcodet lib的答案,但发现它太难了,MVVM有偏见。
所以跟着第二个,一切似乎都很好,但最终它不起作用。 所以在我的App.xaml.cs中我放了:
public partial class App : Application
{
private System.Windows.Forms.NotifyIcon notifyIcon = null;
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
UnityCore.Initialize();
}
protected override void OnActivated(EventArgs e)
{
notifyIcon = new System.Windows.Forms.NotifyIcon();
notifyIcon.Click += NotifyIcon_Click;
notifyIcon.DoubleClick += NotifyIcon_DoubleClick;
Stream iconStream = Application.GetResourceStream(new Uri("pack://application:,,,/Resources/Images/ITA.png")).Stream;
notifyIcon.Icon = new System.Drawing.Icon(iconStream);
notifyIcon.Visible = true;
base.OnActivated(e);
}
private void NotifyIcon_DoubleClick(object sender, EventArgs e)
{
Console.Beep();//show main window
}
private void NotifyIcon_Click(object sender, EventArgs e)
{
Console.Beep();//show main window
}
}
开始时的主窗口是透明的,最小化以使其不可见。
在此阶段,我希望在托盘图标中看到ITA标志,然后单击或双击恢复主窗口。
但我在托盘上看不到该死的东西。
我认为标志资源在这里已经正确设置了我的解决方案
Thanx寻求帮助。