2012-07-20 48 views
5

Tengo dos proyectos separados, por ejemplo, project1 y project2. Bueno, tengo una ventana1 en el proyecto1, así que ¿cómo puedo mostrar esta ventana1 desde el proyecto2?Abrir ventana wpf desde otro proyecto

+0

¿son ambos proyectos de Wpf? – ethicallogics

+0

¿Son sus proyectos parte de la misma solución o son archivos ejecutables separados? –

+0

Sí, ambos son proyectos de WPF y ambos están en la misma solución. – user1399377

Respuesta

9

Solo tiene que agregar una referencia de proyecto al proyecto desde el que desea llamar al otro proyecto. Entonces puedes hacer algo como esto. Tengo 2 espacios de nombres diferentes, pero algo así debería funcionar.

namespace WpfApplication1 
{ 
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainWindow : Window 
    { 
     WpfApplication2.MainWindow newForm; 

     public MainWindow() 
     { 
      InitializeComponent(); 

     } 

     private void button1_Click(object sender, RoutedEventArgs e) 
     { 
      newForm = new WpfApplication2.MainWindow(); 

      newForm.Show(); // or newForm.ShowDialog(); 
     } 
    } 
} 
+0

Gracias es que funciona para mí. – user1399377

+2

Esto funcionó para mí también cuando usé una aplicación wpf para iniciar un juego XNA. –

1

Lo que necesita hacer es agregar la referencia del Proyecto 1 al proyecto Proyecto 2 y luego llamar a la ventana 1 como lo hace (No olvide antes de llamar: necesita using Project1; donde desea llamar a window1 para que el intellisense lo encontraría fácil para usted)

+0

sí, he agregado la referencia Project1 al Project2, pero obtengo la excepción NullReferenceException object o = (Window) System.Reflection.Assembly.Load ("Project1"). CreateInstance ("MainWindow"); Ventana s = (Ventana) o; s.Show(); – user1399377

+0

@ user1399377 no necesita utilizar System.Reflection si tiene una referencia al proyecto. –

+0

la llamada tiene que ser exactamente como Mark Hall muestra – HichemSeeSharp

Cuestiones relacionadas