私は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
で関数を呼び出したい:私はこのように私のプロジェクトを整理します。しかしPage
オブジェクトにKeyUp
イベントを追加することは不可能であることが分かりましたので、NavigationWindow
に追加することにしました。しかし、私はHomePage.xaml.cs
NavigationWindow
内の機能に到達することができないので、私は考えを思い付いた。
var window = Window.GetWindow(this);
((MainWindow) window).KeyUp += new system.Windows.Input.KeyEventHandler(this.Window_KeyUp);
しかし、これはうまく動作せず、System.NullReferenceException
を投げます。私はなぜそれが起こるのか分からない。たぶんthis
はここにnull
と言っていますか?しかし、なぜ?
'Page'ではなく' UserControl'を使います。 (可能であれば) – DeMama
'UserControl'はまだ' KeyUp'イベントでアタッチできないと思います。また、 'Page'ではなく' UserControl'を使用してナビゲーションを行い、コンテンツを入れるのは従来通りですか? – Rundis
私はあなたがMainWindowにdiffページを表示したいと思っています。そしてHomePageは最初のページですが、そのようなページがたくさんあるかもしれませんし、矢印キーを使ってそれらのページ間を移動したいのですか? – AnjumSKhan