Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从其他项目打开wpf窗口_C#_Wpf_Reflection_.net Assembly - Fatal编程技术网

C# 从其他项目打开wpf窗口

C# 从其他项目打开wpf窗口,c#,wpf,reflection,.net-assembly,C#,Wpf,Reflection,.net Assembly,我有两个独立的项目,例如project1和project2。我在project1中有一个window1,因此如何从project2显示这个window1。您需要做的是将project1引用添加到project2项目中,然后按您习惯的方式调用window1(打电话之前别忘了:您需要使用Project1;在您想打window1的地方,这样intellisense会很容易找到它)您只需将项目引用添加到要从中调用另一个项目的项目。然后可以执行类似操作。我有两个不同的名称空间,但类似操作应该可以 name

我有两个独立的项目,例如project1和project2。我在project1中有一个window1,因此如何从project2显示这个window1。

您需要做的是将project1引用添加到project2项目中,然后按您习惯的方式调用window1(打电话之前别忘了:您需要
使用Project1;
在您想打window1的地方,这样intellisense会很容易找到它)

您只需将项目引用添加到要从中调用另一个项目的项目。然后可以执行类似操作。我有两个不同的名称空间,但类似操作应该可以

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();
        }
    }
}
命名空间WpfApplication1
{
/// 
///MainWindow.xaml的交互逻辑
/// 
公共部分类主窗口:窗口
{
WpfApplication2.main窗口新窗体;
公共主窗口()
{
初始化组件();
}
私有无效按钮1\u单击(对象发送者,路由目标)
{
newForm=newwpfapplication2.MainWindow();
newForm.Show();//或newForm.ShowDialog();
}
}
}

您的项目是属于同一个解决方案的一部分,还是它们是独立的可执行的?它们都是WPF项目,并且都在同一个解决方案中。是的,我已将Project1引用添加到Project2,但我得到的是NullReferenceException对象o=(Window)System.Reflection.Assembly.Load(“Project1”).CreateInstance(“MainWindow”);windows=(Window)o;s.Show();@user1399377如果您对项目有引用,则不需要使用System.Reflection。使用System.Reflection而不是这种简单方式的目的是什么?这对我来说在使用wpf应用程序启动XNA游戏时也很有效。