Pergunta

Como posso enviar a janela minimizada para a bandeja quando em clique no botão fechar? Também como mostrar ícone na bandeja quando iniciar a aplicação?

Foi útil?

Solução

Não há nada que vem embutido com WPF. De implementações que você pode encontrar na rede, há uma "fácil" um, que usa WinForms:

http://msdn.microsoft.com/en-us/library/ aa972170.aspx

Mas como este mais (pode ser usado para dicas de balão também)

http://www.codeproject.com/KB/WPF/wpf_notifyicon.aspx

Outras dicas

WinForm:

Uma abordagem é para definir a propriedade Cancel de FormClosingEventArgs em caso FormClosing da sua janela e, em vez minimizar a bandeja. Para minimizar a bandeja, consulte este artigo:

Janela Tray Minimizer

Code Project tem mais artigos sobre o tema, mas o Liguei funcionou para mim.

WPF:

Eu nunca tive que fazer isso em WPF, mas se picar em torno de uma solução. Eu encontrei esta:

Criando um ícone da bandeja para um aplicativo WPF

Você vai encontrar o código funciona, mas eu recomendo testar. As artigo aborda abrir um aplicativo minimizado para a bandeja.

Você também pode encontrar este exemplo no MSDN útil:

Notificação Ícone Amostra

Em winforms você pode sobrecarregar WndProc e prestar atenção para a mensagem WM_CLOSE.

    WM_CLOSE = 0x0010

    protected override void WndProc(ref Message m)
    {
      if(m.Msg == WM_CLOSE)
      {
        this.Hide();
        trayIcon.Show();
      }

    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top