2

MainPageコンストラクター内NavigationServiceで別のページに移動するために使用していますが、エラーが発生します:

オブジェクト参照がオブジェクト インスタンスに設定されていません

コンストラクターからナビゲートできない理由を誰かが知っていますか?

public MainPage()
    {           
      InitializeComponent();
      NavigationService.Navigate(new Uri("/test.xaml", UriKind.Relative));
    }
4

2 に答える 2

2

ナビゲートしているページはまだc'torに作成されていません。「ロード済み」は、オブジェクトがすべて作成された後に発生し、別のページへの移動などを行うのに適した場所です。

于 2013-01-23T16:51:41.800 に答える
0

パーティーに少し遅れましたが、MSDNが言っていること(そして上記の@JustinAngelのコメントで言及されていること)から、実際にはOnNavigatedToではなくイベントを使用する必要がありますLoadedLoadedまだ動作している間、

通常、Loadedイベントのイベントハンドラーを作成する代わりに、OnNavigatedToメソッドを使用します。OnNavigatedToメソッドは、ページがアクティブになるたびに1回だけ呼び出されるため、推奨されます。Silverlightフレームワークは、要素がビジュアルツリーに追加されるたびにLoadedイベントを発生させます。これは、ページをアクティブ化するときに複数回発生する可能性があります。

于 2013-05-13T15:47:46.193 に答える