1

これは具体的にはCaliburn.Microの質問です。これは、CBがWindowsPhone7でナビゲーションを処理する方法に関係しているためです。

電話番号チューザーを起動するオプションがあるビューがあります。結果が戻ってきたら、それを保存してナビゲートしますが、ナビゲーションのみが機能しません。これは、Handleメソッドが私のビューではなくタスクで機能しているためだと思います。ハンドルが終了した後、ページの端にボタンを押してナビゲートできることは知っていますが、結果が戻ってきたらこれを実行したいと思います。

これが私がしていることです。

    public void Handle(TaskCompleted<PhoneNumberResult> message)
    {
        webtext.Recipient = message.Result.PhoneNumber;
        webtext.RecipientDisplayName = message.Result.DisplayName;
        CommitWebtextToStorage();

        events.Unsubscribe(this);
        navigationService.UriFor<ComposeViewModel>();
    }

どちらも機能しません。また、その中でメソッドを呼び出すこともできません。これは、私が行っていることと同じであるためです。handleメソッドを終了してから、ナビゲーションサービスを呼び出す必要があります。

4

1 に答える 1

2

実際には、ナビゲーションは次のようになります。

navigationService.UriFor<ComposeViewModel>().Navigate();

Navigate(最後の方法に注意してください)

質問のタイプミスだけの場合、問題はアプリケーションの再開のタイミングに関係している可能性があります(チューザータスクの完了後にアプリケーションに戻ったときに発生します)。
その場合、この問題を作成していただけますか?

于 2011-07-17T22:05:10.477 に答える