Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 517758
            [titulo] => Fechar form WPF em Csharp
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-04-24 14:01:34
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 418027
            [status] => A
            [isExample] => 
            [NomeUsuario] => Jothaz
            [Apelido] => 
            [Foto] => 418027_20150313165406.jpg
            [Conteudo] => Use o System.Windows.Forms.Application.OpenForms.

Veja nos links exemplos, dúvidas é só postar.

[url:descricao=check open windows in wpf ]https://social.msdn.microsoft.com/Forums/vstudio/en-US/449b53e1-7ffa-4467-8f13-816757229deb/check-open-windows-in-wpf?forum=wpf[/url]

[url:descricao=Get List of all Open Forms in Windows Application]http://www.c-sharpcorner.com/Blogs/15843/get-list-of-all-open-forms-in-windows-application.aspx[/url]

[url:descricao=Get List of all Open Forms in Windows Application]http://www.codeproject.com/Questions/358893/How-to-close-all-open-forms-in-WPF[/url] ) )

Fechar form WPF em Csharp

Moisés
   - 24 abr 2015

Pessoal estou fazendo um sistema em C# usando WPF e estou alguns probleminhas, pois tenho em media 10 form WPF, um PAI(From PRINCIPAL) e outros filho (From's Secundarios), o problema é o seguinte, quero ao clicar em um botão do menú ele me abra o form wpf respectivo aquele botão, até ai deu certo, porem quero que ele verifique se há houver algum form secundário aberto, se houver que feche os e abra apenas o solicitado. Se alguém poder me ajudar ficarei muio agradecido.

Post mais votado

Jothaz
   - 24 abr 2015

Use o System.Windows.Forms.Application.OpenForms.

Veja nos links exemplos, dúvidas é só postar.

check open windows in wpf

Get List of all Open Forms in Windows Application

Get List of all Open Forms in Windows Application

Moisés
   - 25 abr 2015

Muito Obrigado Jothaz consegui essa parte!

Mas tenho outro probleminha, estou meu form principal e queria abrir dentro dele os form filho, tipo uma mdi parent, sei a mesma não existe WPF, mas deve háver uma forma de fazer isso,vocês poderia me ajudar?

Nathalia
   - 25 abr 2015

Pessoal, estou com a mesma dúvida do Moisés.

Quero abrir um form filho dentro do form principal em WPF.

Vi que WPF não tem suporte para MDI.

Alguém pode me exemplificar como posso fazer isso?

Jothaz
   - 27 abr 2015


Citação:
Pessoal, estou com a mesma dúvida do Moisés.

Quero abrir um form filho dentro do form principal em WPF.

Vi que WPF não tem suporte para MDI.

Alguém pode me exemplificar como posso fazer isso?


Apesar de não ter tido oportunidade de usá-lo de forma profissional, portanto não sou expert no assunto, particularmnte acho o WPF maravihoso, pois com XAML e mais uma infinidade de recursos é possível criar apresentações ricas. Só que houve uma mudança de paradigma e consequentemente na forma de pensar e se projetar as interfaces. Então seria anacrônico querer utilizar uma solução "Windows Forms" neste contexto. Nem digo que não seja possível, só acho que deve-se focar em usar os recursos disponíveis na framework e para o qual ela foi projetada.

A questão pode ser abordada das seguintes formas:

1 - O WPF possui o recurso "Frame" onde pode-se simular MDI do "Window Form", mas de certa forma diferente, nele você consegue abrir quantos formulários desejar e navegar entre eles de forma similar a navegação de páginas na internet.

2 - Uma outra forma que a própria Microsoft utiliza é abrir formulário do forma Show, mas mantendo esse formulário atrelado a janela pai fazendo com que a janela filho não seja independente do pai, como o VS usa.

3 - Existe um elemento chamado <WindowsFormsHost /> que permite incluir um elemento WinForm dentro de uma janela WPF o que permite algo parecido com o MDI.

4 - Usar o conceito de <Page /> do WPF.

Agora se você quer mesmo utilizar o MDI você deverá utilzar algum componente externo, não sei se funcionam estou postando os link somente como informação:

WPF Multiple Document Interface (MDI)

AvalonDock

MDI Container for WPF

Bem isto é o que conheço sobre o assunto vamos esperar novas contribuições e vermos se existem outras abordagens,

Então cabe ao projetista desenvolvedor pesquisar se inteirar do assunto e decidir qual a melhor solução para o cenário que esta atuando.

Nathalia
   - 28 abr 2015

Jothaz, obrigada pela resposta, vamos procurar sobre esses recursos que você mencionou no WPF!!

Moisés
   - 29 abr 2015


Citação:

Citação:
Pessoal, estou com a mesma dúvida do Moisés.

Quero abrir um form filho dentro do form principal em WPF.

Vi que WPF não tem suporte para MDI.

Alguém pode me exemplificar como posso fazer isso?


Apesar de não ter tido oportunidade de usá-lo de forma profissional, portanto não sou expert no assunto, particularmnte acho o WPF maravihoso, pois com XAML e mais uma infinidade de recursos é possível criar apresentações ricas. Só que houve uma mudança de paradigma e consequentemente na forma de pensar e se projetar as interfaces. Então seria anacrônico querer utilizar uma solução "Windows Forms" neste contexto. Nem digo que não seja possível, só acho que deve-se focar em usar os recursos disponíveis na framework e para o qual ela foi projetada.

A questão pode ser abordada das seguintes formas:

1 - O WPF possui o recurso "Frame" onde pode-se simular MDI do "Window Form", mas de certa forma diferente, nele você consegue abrir quantos formulários desejar e navegar entre eles de forma similar a navegação de páginas na internet.

2 - Uma outra forma que a própria Microsoft utiliza é abrir formulário do forma Show, mas mantendo esse formulário atrelado a janela pai fazendo com que a janela filho não seja independente do pai, como o VS usa.

3 - Existe um elemento chamado <WindowsFormsHost /> que permite incluir um elemento WinForm dentro de uma janela WPF o que permite algo parecido com o MDI.

4 - Usar o conceito de <Page /> do WPF.

Agora se você quer mesmo utilizar o MDI você deverá utilzar algum componente externo, não sei se funcionam estou postando os link somente como informação:

WPF Multiple Document Interface (MDI)

AvalonDock

MDI Container for WPF

Bem isto é o que conheço sobre o assunto vamos esperar novas contribuições e vermos se existem outras abordagens,

Então cabe ao projetista desenvolvedor pesquisar se inteirar do assunto e decidir qual a melhor solução para o cenário que esta atuando.


Jothaz, poderia me explica melhor como para isso na forma que vc mencionou no item 3.

Jothaz
   - 29 abr 2015

Você fez alguma pesquisa sobre o assunto?

Post o link que você este utilizando como referência para estudo sobre o assunto.

Moisés
   - 02 mai 2015


Citação:
Você fez alguma pesquisa sobre o assunto?

Post o link que você este utilizando como referência para estudo sobre o assunto.


Jothaz, conseguimos resolver esse problema com este post aqui: https://social.msdn.microsoft.com/Forums/sqlserver/pt-BR/98a8c038-4173-4329-9d90-df8b4b2854ff/abrir-form-dentro-do-principal?forum=vscsharppt

A resposta que resolveu nosso problema foi a de um cara chamado Winicius Dutra, mas muito obrigado pela sua sua ajuda!