2012-07-20 145 views
5

我有两个单独的项目,例如project1和project2。那么我在project1中有一个window1,所以我怎么能从project2中显示这个window1。从其他项目打开wpf窗口

+0

他们都是Wpf项目吗? – ethicallogics 2012-07-20 14:43:46

+0

您的项目是同一个解决方案的一部分,还是他们是独立的可执行文件 – 2012-07-20 14:45:27

+0

是的,他们都是WPF项目,两者都在同一个解决方案中。 – user1399377 2012-07-20 14:45:41

回答

9

你只需要添加一个项目引用到你想调用其他项目的项目。然后你可以做这样的事情。我有两个不同的命名空间,但这样的事情应该工作。

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

感谢它为我工作。 – user1399377 2012-07-20 15:05:33

+2

当我使用wpf应用程序来启动XNA游戏时,这也适用于我。 – 2013-12-22 03:30:27

1

您需要做的就是将项目1引用添加到项目2项目,然后像以前那样调用window1(在调用之前不要忘记:您需要using Project1;要调用window1,因此intellisense会发现它很容易)

+0

是的我已经将Project1引用添加到Project2,但我得到NullReferenceException object o =(Window)System.Reflection.Assembly.Load(“Project1”)。CreateInstance(“MainWindow”); 窗口s =(窗口)o; s.Show(); – user1399377 2012-07-20 14:56:26

+0

@ user1399377如果您有对项目的引用,则不需要使用System.Reflection。 – 2012-07-20 14:58:43

+0

该呼叫必须与Mark Hall显示的一样 – HichemSeeSharp 2012-07-20 14:59:16

相关问题