我想在WPF表单加载时自动调用按钮单击事件。因此,我在initializeComponent();之前的构造函数中调用它。但这总是给我以下错误:System.NullReferenceException:'对象引用未设置为对象的实例。'
代码是:
logoutBTN.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
我该如何解决?
编辑,解决方案 做到了!谢谢。
Loaded += (s, e) => logoutBTN.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
答案 0 :(得分:3)
简短答案:
您应该将代码放置在InitializeComponent()
方法的之后。
说明:
在InitializeComponent()
方法中,实例化WPF类中的所有控件。如果对控件进行了任何引用,则很可能会得到null引用异常。有关更多信息,请参见this文章。
根据评论进行编辑:
如果是这种情况,则仅在页面完全加载后才触发此事件,您可以注册到窗口的加载事件:
this.Loaded += (s, e) =>
{
logoutBTN.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
};
答案 1 :(得分:1)
在InitialiseComponent();
之后
添加:
this.Loaded+=new RoutedEventArgs(ButtonClickEvent);