winform c# wpf windows wpf-controls notifyicon

winform - show notifyicon c#



MinimizaciĆ³n de la aplicaciĆ³n a la bandeja del sistema usando WPF(No usando NotifyIcon) (3)

Acabo de encontrar este post hoy.

Para referencia, también resolví esto hace un tiempo atrás. Funciona muy bien y la única vez que he tenido un pequeño problema es, en ocasiones, en algunas configuraciones de múltiples pantallas.

Esto fue antes de que GITs y NuGets fueran lo más importante, lo pondré en un repositorio de GIT si hay interés.

CodeProject artículo aquí

He terminado de realizar mi aplicación y ahora quiero incorporar "minimizar en la función de la bandeja del sistema" para ello. Leí un buen artículo para minimizar la aplicación en la bandeja del sistema . Me di cuenta de que estos hacen uso de la clase Windows.Form.

Desafortunadamente, he utilizado la referencia WPF de Windows Presentation Foundation para crear la interfaz de usuario de mis aplicaciones. Ahora veo que NotifyIcon no es compatible con WPF. Veo que hay una biblioteca de código abierto en CodePlex que simula las propiedades de NotifyIcon WPF Contrib. No lo he usado todavía.

Ahora estoy en una solución. Aquí están mis preguntas:

a) No quiero incorporar una biblioteca de terceros de solo un componente.

b) ¿Puedo hacer la función de minimización sin NotifyIcon en WPF? Si es así, ¿cómo puede alguien darme pistas por favor?

¿O tal vez debería revertir mi UI para usar Windows Forms?


Aquí hay un hilo, que me ayudó mucho.

https://.com/a/12428063/10305444

public partial class Window : System.Windows.Window{ public Window() { InitializeComponent(); System.Windows.Forms.NotifyIcon ni = new System.Windows.Forms.NotifyIcon(); ni.Icon = new System.Drawing.Icon("Main.ico"); ni.Visible = true; ni.DoubleClick += delegate(object sender, EventArgs args) { this.Show(); this.WindowState = WindowState.Normal; }; } protected override void OnStateChanged(EventArgs e) { if (WindowState == WindowState.Minimized) this.Hide(); base.OnStateChanged(e); }}


Si reconsidera su renuencia a usar un componente externo, recomiendo NotifyIcon WPF. Lo he usado Es sencillo y funciona bien.

No solo se basa en el componente WinForms correspondiente, sino que es un control puramente independiente que aprovecha varias características del marco WPF para mostrar información sobre herramientas, ventanas emergentes, menús contextuales y mensajes de globo.