내 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