Você precisa usar o controle NotifyIcon em System.Windows.Forms ou, em alternativa, pode usar a API de ícone do Notify fornecida pela API do Windows. O WPF não fornece esse equivalente e foi solicitado no Microsoft Connect várias vezes.
Eu tenho código no GitHub que usa o System.Windows.Forms
Componente NotifyIcon de dentro de um aplicativo WPF, o código pode ser visualizado em https://github.com/wilson0x4d/Mubox/blob/master/Mubox.QuickLaunch/AppWindow.xaml.cs
Aqui estão os bits de resumo:
Crie uma janela WPF com ShowInTaskbar = False e que seja carregado em um estado não visível.
No nível da 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 para interação (mostrada como notifyIcon.Click e DoubleClick acima):
void notifyIcon_Click(object sender, EventArgs e)
{
ShowQuickLaunchMenu();
}
A partir daqui, você pode retomar o uso de controles WPF e APIs, como menus de contexto, janelas pop-up etc.
É simples assim. Você não precisa exatamente de uma janela WPF para hospedar o componente, é apenas a maneira mais conveniente de introduzir uma em um aplicativo WPF (como uma janela geralmente é o ponto de entrada padrão definido pelo App.xaml), da mesma forma, você não precisa ' você precisa de um WPF Wrapper ou de controle de terceiros, pois o componente SWF é garantido presente em qualquer instalação do .NET Framework que também tenha suporte ao WPF, pois faz parte do .NET Framework (no qual todas as versões atuais e futuras do .NET Framework se baseiam.) Até o momento, não há indicação da Microsoft de que o suporte ao SWF seja retirado do .NET Framework tão cedo.
Espero que ajude.
É um pouco complicado você ter que usar um Componente do Framework anterior à 3.0 para obter um ícone de bandeja, mas, como a Microsoft explicou, não existe o conceito de Bandeja do Sistema no escopo do WPF. O WPF é uma tecnologia de apresentação e os ícones de notificação são um conceito de sistema operacional (não uma "apresentação").