Veröffentlicht 8. Mai 201510 j Hallo, ich möchte gerne das meine WPF Anwendung vorerst ohne Fenster startet. Da es in WPF kein NotifyIcon gibt bediene ich mich der Forms Komponente. Das klappt auch alles ganz gut nur möchte ich nun das meine Anwendung vorerst nur im SysTray startet. Ich kann natürlich nach dem Start der Anwendung dafür sorgen das mein Anwendungsfenster die Hide() Methode aufruft. Dennoch flackert kurz das Fenster auf und versteckt sich dann. Kann mir jemand erklären wie ich der Anwendung beibringe das Hauptfenster erst beim klicken auf das TrayIcon öffnet? Vielen Dank für alle Hinweise.
8. Mai 201510 j Du kannst verhindern, dass bei Start ein Fenster erzeugt wird, indem du das StartupUri-Attribut aus deiner App.xaml löschst.
11. Mai 201510 j Hallo Redmann.m, ich habe die Anforderung auch wie du gelöst, also mit dem NotifyIcon aus Forms. Ein Flackern ist bei mir nicht zu erkennen. Zusätzlich verkleinert sich das Fenster beim Klick wieder in den Tray und verschwindet aus der Taskleiste. public partial class MainWindow : Window { private System.Windows.Forms.NotifyIcon notifyIcon; public MainWindow() { InitializeComponent(); CreateNotifyIcon(); HideWindow(); } private void CreateNotifyIcon() { notifyIcon = new System.Windows.Forms.NotifyIcon(); notifyIcon.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler((s, e) => ShowWindow()); } private void HideWindow() { this.Hide(); notifyIcon.Visible = true; } private void ShowWindow() { this.Show(); notifyIcon.Visible = false; WindowState = WindowState.Normal; } private void Window_StateChanged(object sender, EventArgs e) { if (WindowState == WindowState.Minimized) HideWindow(); } } Viele Grüße! Stefan
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.