我有一个相当简单的 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”的网格。在运行投资窗口的代码时,我运行了一个名为“StockItem”的类,它接受一大堆输入并将它们写入一个组框和几个文本框,然后将它们放入堆栈面板中。我不会复制 StockItem 类的整个代码,但最后一部分是当我尝试将组框添加到堆栈面板时生成错误的部分:
try
{
App.mw.investwindow.InvestSP.Children.Add(GroupB);
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
错误消息说 System.NullReferenceException:对象引用未设置为对象的实例。
我尝试了很多事情,有些没有帮助,有些更糟。我知道这是由于我缺乏理解,但请耐心等待,我只是尽力而为。感谢您为我指明正确的方向。如果您需要更多信息或代码,请告诉我。
带着感激之情!
沃特