È necessario utilizzare il controllo NotifyIcon da System.Windows.Forms oppure, in alternativa, è possibile utilizzare l'API dell'icona di notifica fornita dall'API di Windows. WPF non fornisce tale equivalente ed è stato richiesto più volte su Microsoft Connect.
Ho un codice su GitHub che utilizza System.Windows.Forms
NotifyIcon Component all'interno di un'applicazione WPF, il codice può essere visualizzato su https://github.com/wilson0x4d/Mubox/blob/master/Mubox.QuickLaunch/AppWindow.xaml.cs
Ecco i bit di riepilogo:
Creare una finestra WPF con ShowInTaskbar = False e che viene caricato in uno stato non visibile.
A livello di classe:
private System.Windows.Forms.NotifyIcon notifyIcon = null;
Durante OnInitialize ():
notifyIcon = new System.Windows.Forms.NotifyIcon();
notifyIcon.Click += new EventHandler(notifyIcon_Click);
notifyIcon.DoubleClick += new EventHandler(notifyIcon_DoubleClick);
notifyIcon.Icon = IconHandles["QuickLaunch"];
Durante OnLoaded ():
notifyIcon.Visible = true;
E per l'interazione (mostrato come notificationIcon.Click e DoubleClick sopra):
void notifyIcon_Click(object sender, EventArgs e)
{
ShowQuickLaunchMenu();
}
Da qui è possibile riprendere l'uso dei controlli e delle API WPF come menu di scelta rapida, finestre popup, ecc.
È così semplice. Non è necessaria esattamente una finestra WPF per ospitare il componente, è solo il modo più conveniente per introdurlo in un'app WPF (poiché una finestra è generalmente il punto di ingresso predefinito definito tramite App.xaml), inoltre, non è necessario ' È necessario un wrapper WPF o un controllo di terze parti, poiché il componente SWF è garantito presente in qualsiasi installazione di .NET Framework che ha anche il supporto WPF poiché fa parte di .NET Framework (su cui si basano tutte le versioni .NET Framework attuali e future). Ad oggi, Microsoft non ha alcuna indicazione che il supporto SWF verrà presto rimosso da .NET Framework.
Spero che aiuti.
È un po 'di formaggio che devi usare un Componente Framework pre-3.0 per ottenere un'icona a forma di vassoio, ma comprensibilmente come Microsoft lo ha spiegato, non esiste un concetto di barra delle applicazioni nell'ambito di WPF. WPF è una tecnologia di presentazione e le icone di notifica sono un concetto di sistema operativo (non di "presentazione").