FORMUL?RIO COM FORMATO NÃO RETANGULAR

OCELOT 04/06/2014 14:02:50
#438724
Eu estava achando que você ia precisar iniciar pela janela não retangular, mas se não precisa então acho que e mais fácil fazer criando um projeto do tipo Windows Forms mesmo e um outro projeto que vai ser uma dll para a janela do WPF.

Você cria um projeto do tipo Windows Forms Application normalmente.

Então adiciona um novo projeto na solution, desta vez do tipo WPF User Control Library

No WPF User Control Library você pode excluir o UserControl que vem por padrão e então adicionar a janela que precisa e então pode fazer ela do jeito que quiser.

Então no seu projeto Windows Forms você adiciona a referencia a este projeto do WPF Control Library e aos seguintes assemblies

PresentationCore
PresentationFramework
System.Xaml
WndowsBase
WindowsFormIntegration

Então para exibir a janela do WPF pelo Windows Forms você faz o seguinte, adiciona o seguinte using
using System.Windows.Forms.Integration;
E qualquer outro necessário pelo seu código e então no clique de um botão ou onde precisar

var nomeDaVariavel = new NomeDaJanelaDoWPF();
ElementHost.EnableModelessKeyboardInterop(nomeDaVariavel);
nomeDaVariavel.Show();
NEO3 04/06/2014 15:24:09
#438729
Citação:

Eu estava achando que você ia precisar iniciar pela janela não retangular, mas se não precisa então acho que e mais fácil fazer criando um projeto do tipo Windows Forms mesmo e um outro projeto que vai ser uma dll para a janela do WPF.

Você cria um projeto do tipo Windows Forms Application normalmente.

Então adiciona um novo projeto na solution, desta vez do tipo WPF User Control Library

No WPF User Control Library você pode excluir o UserControl que vem por padrão e então adicionar a janela que precisa e então pode fazer ela do jeito que quiser.

Então no seu projeto Windows Forms você adiciona a referencia a este projeto do WPF Control Library e aos seguintes assemblies

PresentationCore
PresentationFramework
System.Xaml
WndowsBase
WindowsFormIntegration

Então para exibir a janela do WPF pelo Windows Forms você faz o seguinte, adiciona o seguinte using
using System.Windows.Forms.Integration;
E qualquer outro necessário pelo seu código e então no clique de um botão ou onde precisar

var nomeDaVariavel = new NomeDaJanelaDoWPF();
ElementHost.EnableModelessKeyboardInterop(nomeDaVariavel);
nomeDaVariavel.Show();



Perfeito! Funcionou certinho.

Uma última dúvida, as imagens que serão utilizadas no WPF tem que colocar somente como Resource? Pois às que utilizo no Windows Form estou colocando como Embedded Resource.
OCELOT 04/06/2014 16:10:46
#438730
Sim, para o WPF tem que ficar como Resource, ela vai ficar dentro do executável depois de compilado de forma parecida com o Embedded Resource, só que fica de um jeito que o runtime do WPF sabe depois como acessar o arquivo.
NEO3 04/06/2014 16:24:06
#438732
Citação:

Sim, para o WPF tem que ficar como Resource, ela vai ficar dentro do executável depois de compilado de forma parecida com o Embedded Resource, só que fica de um jeito que o runtime do WPF sabe depois como acessar o arquivo.



Entendi.

Muito Obrigado pela sua ajuda!
Página 2 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas