首页 > 解决方案 > 无法在构造函数中执行按钮单击

问题描述

我想在 WPF 表单加载时自动调用按钮单击事件。所以我在 initializeComponent(); 之前的构造函数中调用它。但它总是给我以下错误:System.NullReferenceException:'对象引用未设置为对象的实例。

代码是:

logoutBTN.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));

我怎样才能解决这个问题?

编辑,解决方案 这就是工作!谢谢。

Loaded += (s, e) => logoutBTN.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));

标签: c#wpf

解决方案


简短回答:您应该将代码放在方法之后InitializeComponent()

说明:该InitializeComponent()方法是 WPF 类中所有控件的实例化位置。如果您对它之前的控件进行任何引用,您很可能会得到一个空引用异常。有关更多信息,请参阅本文

根据评论编辑:

如果是这种情况,您应该只在页面完全加载后触发此事件,您可以注册到窗口的加载事件:

this.Loaded += (s, e) =>
        {
            logoutBTN.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
        };

推荐阅读