我正在開發一個WPF項目,但我對此很陌生。我整理我的項目是這樣的:C#WPF在另一個頁面中爲處理窗口添加KeyUp事件
MainWindow.xaml (Contains a NavigationWindow)
MainWindow.xaml.cs
HomePage.xaml (Contains a series of function)
Homepage.xaml.cs
的事情是,我想一個KeyUp
事件添加到我的計劃,我想,當一個鍵被按下它來調用一個函數HomePage.xaml.cs
。但是我發現將一個KeyUp
事件添加到Page
對象是不可能的,因此我決定將它添加到NavigationWindow
。然而,我不能在NavigationWindow
裏面HomePage.xaml.cs
的功能,所以我想出了一個想法。
var window = Window.GetWindow(this);
((MainWindow) window).KeyUp += new system.Windows.Input.KeyEventHandler(this.Window_KeyUp);
但是,這不起作用,並拋出System.NullReferenceException
。我不知道爲什麼會發生。也許它想在這裏說this
是null
?但爲什麼?
使用'UserControl'而不是'Page'。 (如果可能的話) – DeMama
我想'UserControl'仍然不能附加'KeyUp'事件。另外,傳統上使用'UserControl'而不是'Page'來做導航並在其中放置內容? – Rundis
我猜你想在MainWindow中顯示差異頁面。 HomePage是第一頁,可能有很多這樣的頁面,並且您想使用箭頭鍵在它們之間導航? – AnjumSKhan