我正在做一个WPF的Project,然后我大概是这么组织代码的:
MainWindow.xaml (Contains a NavigationWindow)
MainWindow.xaml.cs
HomePage.xaml (Contains a series of function)
HomePage.xaml.cs
然后我希望添加一个KeyUp
事件,让用户按下Enter
的时候调用一个在HomePage.xaml.cs
里面的Handler。然后我发现给Page
添加这么个KeyUp
事件并没有效果,所以我就把它attach到MainWindow.xaml
里面的那个NavigationWindow
。但是因为Handler在HomePage.xaml.cs
里面,然后我就在HomePage
的构造器里面写了:
var window = Window.GetWindow(this);
((MainWindow) window).KeyUp += new System.Windows.Input.KeyEventHandler(this.Window_KeyUp);
但是运行的时候报错System.NullReferenceException
,这是为什么啊。
谢谢大家。
这个要用委托吧。。。