2

私は基本的な MvvmCross (v3.0.3) の例に取り組んでいますが、アプリケーションが廃棄されたときに状態を元に戻す方法に少し行き詰まっています。現時点では、単一のビュー モデルと 1 つのプロパティを持つポータブル クラス ライブラリがあります。この PCL を参照し、ビュー モデルにバインドしてから、テキストブロックをプロパティにバインドする Windows Phone 8 アプリケーションもあります。

プロパティの値が画面に表示されるため、すべてうまく機能します。非アクティブ化時に廃棄するように WP8 プロジェクトをセットアップしました。開始ボタンをクリックすると、ViewModel.SaveState メソッド (コードを開いていないため、これは正しい名前ではない可能性があります) が呼び出され、提供された「バンドル" プロパティの値を使用します。

しかし、「戻る」ボタンを押してアプリケーションに戻ると、対応する ViewModel.ReloadState メソッドが呼び出されません。SaveState で指定されたデータをロードできるように、このメソッドの呼び出しを期待していました。

足りないものはありますか?MvvmCross では、「非アクティブ化の廃棄」オプションにより、これが発生しませんか?

4

1 に答える 1

0

v3 の廃棄コードはまったく新しいものであり、すべてのプラットフォームでまだ完全には機能していませんが、WinRT と Android で個人的にテストしました。

WindowsPhone では、1 つの機能を開いたままにしました。主な理由は、何を入れればよいかよくわからなかったからです...

実装する必要がある機能は、ページ内の状態の読み込みと保存です。次の 2 つの空の仮想メソッドを参照してくださいMvxPhonePage: https://github.com/slodge/MvvmCross/blob/v3/Cirrious/Cirrious.MvvmCross.WindowsPhone/Views /MvxPhonePage.cs#L54

との間でテキストをシリアル化/逆シリアル化するためのコードMvxBundleは非常に簡単です。使用するだけです。次のDroidIMvxSavedStateConverterコードを参照してください。 MvxActivityViewExtensions.cs#L59

すべての Windows Phone アプリで使用できる共通のコードがいくつかある可能性があります...

于 2013-04-15T20:30:44.717 に答える