我想使用 WPF 将应用程序最小化到系统托盘。\'NotifyIcon\' 是实现此结果的唯一方法吗?如果是,在 WPF 中使用 \'NotifyIcon\' 需要哪个命名空间?如果可能的话,使用 \'NotifyIcon\' 需要哪个命名空间?
我想使用 WPF 将应用程序最小化到系统托盘。\'NotifyIcon\' 是实现此结果的唯一方法吗?如果是,在 WPF 中使用 \'NotifyIcon\' 需要哪个命名空间?
如果可以使用“NotifyIcon”,请提供一些提示,我如何在主窗口中使用它?
我的主窗口是,
public partial class MonthView : MetroWindow
{
public DateTime SelectedDate { get; set; }
public MonthView()
{
InitializeComponent();
calMain.DisplayDate = DateTime.Today;
Globals._globalController = new AppController();
Globals._globalController.appTaskManager.setupLocal();
Globals._globalController.setMonthViewWindow(this);
}
public void calItemSelectedDate(object sender, SelectionChangedEventArgs e)
{
DateTime d;
if (sender is DateTime)
{
d = (DateTime)sender;
}
else
{
DateTime.TryParse(sender.ToString(), out d);
}
SelectedDate = d;
ShowActivity(d);
}
public void ShowActivity(DateTime date)
{
DayView Activity = new DayView(date);
Activity.Show();
this.Hide();
}
private void SetButton_Click(object sender, RoutedEventArgs e)
{
SettingsView set = new SettingsView();
set.Show();
this.Hide();
}
}
NotifyIcon 在 WPF 中没有实现,因为它在 Forms 中,但是您仍然可以使用 Windows Form NotifyIcon ,它驻留在 System.Windows.Forms 命名空间中。
看看这些教程,它们可能会满足您的需求:
简单的解决方案,直接使用 NotifyIcon: http://www.abhisheksur.com/2012/08/notifyicon-with-wpf-applications.html
更先进的解决方案,基于 NotifyIcon 的 具有更多功能: http://www.codeproject.com/Articles/36468/WPF-NotifyIcon
的更多信息, NotifyIcon 请参见: http://msdn.microsoft.com/en-us/library/system.windows.forms.notifyicon.aspx