Difiero con Hector, claro que puedes invocar a un winform desde tu aplicacion wpf.
Usando Reflection.
Código CSHARP:
Ver originalType x = Type.GetType("WpfApplication2.Form1");
System.Reflection.Assembly ensamblado= System.Reflection.Assembly.GetAssembly(x);
object r = ensamblado.CreateInstance("WpfApplication2.Form1");
System.Reflection.MethodInfo[] info = x.GetMethods();
foreach (System.Reflection.MethodInfo currentMethodInfo in info)
{
if(currentMethodInfo.Name.Equals("Show"))
{
try
{
currentMethodInfo.Invoke(r, null);
break;
}
catch (Exception ex)
{
//throw new ApplicationException("No es la sobrecarga que buscabamos",ex);
}
}
}
Atencion , si tu form no es parte de tu proyecto wpf simplemente necesitas usar el metodo
System.Reflection.Assembly.LoadFile("nombredetuwin formexecutable.exe");
y saber cual es lnombre del NameSpace.Clase que quieres instanciar.
Código csharp:
Ver originalSystem.Reflection.Assembly ensamblado= System.Reflection.Assembly.LoadFile("c:\\Ejecutable.exe");
Type x = ensamblado.GetType("NameSpace.FormularioOClase");
object r = ensamblado.CreateInstance("NameSpace.FormularioOClase");
System.Reflection.MethodInfo[] info = x.GetMethods();
foreach (System.Reflection.MethodInfo currentMethodInfo in info)
{
if(currentMethodInfo.Name.Equals("Show"))
{
try
{
currentMethodInfo.Invoke(r, null);
break;
}
catch (Exception ex)
{
//throw new ApplicationException("No es la sobrecarga que buscabamos",ex);
}
}
}