1
在我的wpf應用程序中,我有4個視圖窗口。我已經編寫了下面的代碼,它在最小化窗口時將我的主窗口最小化爲系統托盤。但是,我希望我的應用程序中的所有窗口都具有這種效果(即整個wpf應用程序)。當我從一個窗口移動到另一個窗口時,它應該在系統托盤中爲我顯示該圖標的圖標。我是否需要爲所有其他窗口編寫相同的代碼?或者以其他方式來實現這個結果?最小化整個WPF應用程序到系統托盤在C#
代碼主窗口最小化到系統托盤寫,
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);
Globals.ni = new NotifyIcon();
Globals.ni.Icon = new System.Drawing.Icon(@"D:\TimeSheetIcon.ico");
Globals.ni.Visible = true;
Globals.ni.Click +=
delegate(object sender, EventArgs args)
{
this.Show();
this.WindowState = WindowState.Normal;
};
}
protected override void OnStateChanged(EventArgs e)
{
if (WindowState == System.Windows.WindowState.Minimized)
{
this.Hide();
Globals.ni.BalloonTipTitle = "MonthView";
Globals.ni.BalloonTipText = "This is main window";
Globals.ni.Visible = true;
Globals.ni.ShowBalloonTip(500);
base.OnStateChanged(e);
}
}
}
的NotifyIcon在Globals.cs
全局聲明public static class Globals
{
public static NotifyIcon ni;
}
是的。值得嘗試。 – Dinesh