我有一個相當簡單的C#/ WPF問題。我在C#/ WPF中的技能不太好,所以如果答案已經存在,我會道歉,但我不夠聰明,無法看到它。如何將類中的對象添加到實例化窗口?
我有我從我App.xaml.cs實例化的主窗口
internal static MainWindow mw;
protected override void OnStartup(StartupEventArgs e)
{
try
{
//investwindow = new Invest();
mw = new MainWindow();
mw.Show();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
我的主窗口類,包含了一些其實例其他窗口/類的按鈕,例如:
private void btnInvest_Click(object sender, RoutedEventArgs e)
{
investwindow = new Invest();
investwindow.Show();
}
在XAML的這個投資窗口中,我有一個名爲「InvestSP」的網格。 在運行investwindow的代碼時,我運行一個名爲「StockItem」的類,該類需要一大堆輸入並將它們寫入一個groupbox和幾個文本框中,並將它們放入堆棧面板中。我不會複製StockItem類的整個代碼,但最後一部分是產生一個錯誤,當我嘗試組框添加到StackPanel的:
try
{
App.mw.investwindow.InvestSP.Children.Add(GroupB);
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
錯誤消息稱System.NullReferenceException:對象未設置爲對象的實例。
我試過很多東西,有些沒有幫助,有些更糟糕。我知道這是由於我缺乏理解,但請耐心等待,我只是盡力而爲。 感謝您指點我正確的方向。如果您需要更多信息或代碼,請告訴我。
感謝!
Wouter
你試圖解除引用'null'(如果你說'a.b'和'a'爲'null',你通常會得到這個錯誤)。在該行上放置一個斷點並查看「null」。 –
在您的invest_Click(假設這是在您的MainWindow代碼中),investwindow是什麼?這是MainWindow clasS中的公共變量嗎? – ryadavilli
你是對的,我確實發現了一些與我認爲是問題完全無關的特定對象。我解決了感謝! –