C# 从Main()调用其他函数

C# 从Main()调用其他函数,c#,.net,wpf,main,C#,.net,Wpf,Main,我有一个函数可以更新我的UI public void Checking() { // Do Something } 我想在打开程序时调用这些函数:我认为我应该在main中调用它: public MainWindow() { InitializeComponent(); Checking(); } 但这里我得到了一个错误: 调用的目标已引发异常 我正在使用WPF。。。 有什么解决办法吗?您可以按自己的方式使用该功能。但是Checking()中的某些内容可能需要加载您

我有一个函数可以更新我的UI

public void Checking()
{
    // Do Something 
}
我想在打开程序时调用这些函数:我认为我应该在main中调用它:

public MainWindow()
{
    InitializeComponent();
    Checking(); 
}
但这里我得到了一个错误:

调用的目标已引发异常

我正在使用WPF。。。
有什么解决办法吗?

您可以按自己的方式使用该功能。但是Checking()中的某些内容可能需要加载您的面板(或其他内容)

您可以创建一个事件处理程序,该处理程序在面板加载后启动。然后可以从那里调用checking()函数

<StackPanel Loaded="myStackPanelLoaded" />

同样的事情也发生在我身上


在WPF中,当抛出此消息的表单的构造函数中出现异常时。因此,尝试调用
MainForm
FormLoad
事件处理程序中的
Checking()
函数。通过这种方式,您将看到程序中存在何种类型的
异常。

在构造函数中设置Windows Loaded事件并从中调用Checking()方法。直到XAML完全加载,UI才准备好在构造函数中进行交互。WPF有一个事件让您知道发生了这种情况(加载的事件)

如果仍然出现错误,那么需要查看内部异常,应该告诉您是什么导致了错误。您还可以单步执行Checking()方法,查看错误发生在哪一行

[编辑]以下是有关加载事件的一些附加资源以及WPF页面生命周期中事件的顺序:


查看内部异常和异常的详细信息,他们可能会给您一个提示。您可以尝试调用表单中的Checking()\u loads您可以将其放入窗口加载吗?我使用WPF,因此这里没有表单加载……我想他们指的是加载的
事件。如果您注释掉
Checking
调用,异常是否会消失?
public MainWindow()
{
    InitializeComponent();
    this.Loaded += new RoutedEventHandler(MainWindow_Loaded);
}

void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
    Checking(); 
}