我有兩個單獨的項目,例如project1和project2。那麼我在project1中有一個window1,所以我怎麼能從project2中顯示這個window1。從其他項目打開wpf窗口
回答
你只需要添加一個項目引用到你想調用其他項目的項目。然後你可以做這樣的事情。我有兩個不同的命名空間,但這樣的事情應該工作。
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();
}
}
}
感謝它爲我工作。 – user1399377 2012-07-20 15:05:33
當我使用wpf應用程序來啓動XNA遊戲時,這也適用於我。 – 2013-12-22 03:30:27
您需要做的就是將項目1引用添加到項目2項目,然後像以前那樣調用window1(在調用之前不要忘記:您需要using Project1;
要調用window1,因此intellisense會發現它很容易)
是的我已經將Project1引用添加到Project2,但我得到NullReferenceException object o =(Window)System.Reflection.Assembly.Load(「Project1」)。CreateInstance(「MainWindow」); 窗口s =(窗口)o; s.Show(); – user1399377 2012-07-20 14:56:26
@ user1399377如果您有對項目的引用,則不需要使用System.Reflection。 – 2012-07-20 14:58:43
該呼叫必須與Mark Hall顯示的一樣 – HichemSeeSharp 2012-07-20 14:59:16
他們都是Wpf項目嗎? – ethicallogics 2012-07-20 14:43:46
您的項目是同一個解決方案的一部分,還是他們是獨立的可執行文件 – 2012-07-20 14:45:27
是的,他們都是WPF項目,兩者都在同一個解決方案中。 – user1399377 2012-07-20 14:45:41