C# 从其他项目打开wpf窗口
我有两个独立的项目,例如project1和project2。我在project1中有一个window1,因此如何从project2显示这个window1。您需要做的是将project1引用添加到project2项目中,然后按您习惯的方式调用window1(打电话之前别忘了:您需要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;
在您想打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游戏时也很有效。