コード ビハインド ファイルで XAML で宣言された名前付きオブジェクトを見つけるのに問題があります。
ビュー内からビューモデルを初期化したい。ただし、コード ビハインド ファイルで ViewModel への参照も必要です (基本的に、ViewModel からは簡単に実行できないナビゲーション サポート、イベントの処理などのため)。
<navigation:Page.DataContext>
<vm:JobsViewModel x:Name="ViewModel" />
</navigation:Page.DataContext>
ただし、コード ビハインドで ViewModel にアクセスしようとすると、null 参照例外が発生します。
Protected Overrides Sub OnNavigatedTo(ByVal e As System.Windows.Navigation.NavigationEventArgs)
MyBase.OnNavigatedTo(e)
ViewModel.Initalize() '<-- Exception here
End Sub
いくつかの調査では、FindName
"ViewModel" の呼び出しInitalizeComponent
が null を返すことが示されています。XAMLネームスコープなどを読んでみましたが、私が見る限り、これは単純なケースであり、うまくいくはずですよね?
これが失敗する理由についての指針をいただければ幸いです。ありがとう!