Windows Phone 8の2つのページの間に単純な文字列を渡す必要があります。私はそれを行う最善の方法を探そうとしていますが、 Windows Phone 8で2つのページ間に単純な文字列を渡す最善の方法は何ですか。これは他のページに移動するために使用する方法です。Windows Phoneでページ間に文字列を渡す8
答えて
が、それはクエリ文字列パラメータを使用するのが最も簡単です:
NavigationService.Navigate(new Uri("/newpage.xaml?key=value", Urikind.Relative));
タールにそれを拾いますNavigationContext.QueryString
を使用してページを取得:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (NavigationContext.QueryString.ContainsKey("key"))
{
string val = NavigationContext.QueryString["key"];
// etc ...
}
}
注:あなたの文字列は英数字のみが含まれている場合は、上記の変更なしで動作します。しかし、文字列にURL予約文字(たとえば、&
、?
)がある場合は、それらをURLエンコードする必要があります。これにはヘルパーメソッドUri.EscapeDataString
とUri.UnescapeDataString
を使用してください。
string encodedValue = Uri.EscapeDataString("R&R");
NavigationService.Navigate(new Uri("/newpage.xaml?key=" + encodedValue, Urikind.Relative));
をアンエスケープへ:エスケープする
string encodedValue = NavigationContext.QueryString["key"];
string val = Uri.UnescapeDataString(encodedValue);
私は単純なデータ@McGarnagleのために、おそらくよりよい解決策であると言わざるを得ない。
これはまた、これを行うための非常に高速で汚れた方法でもあります。このメソッドは、複雑なオブジェクトも取り込むことができます。
私はその後、2ページにあなたがこの
var yourObject = PhoneApplicationService.State["KeyName"];
がCaliburn.microを見てみましょうかDictionary<String,Object>
PhoneApplicationService.State.add("KeyName",YourObject);
あるPhoneApplicationService.State
を使用して好きです。設定するのはとても簡単で、あなたはこのように、強く型付けされた方法で、ビューを使用してパラメータを渡すことができます:あなたはMVVMアーキテクチャを使用している場合
public void GotoPageTwo() {
navigationService.UriFor<PivotPageViewModel>()
.WithParam(x => x.NumberOfTabs, 5)
.Navigate();
}
は、その後、あなたが使用して登録した後の文字列を渡すことができますメッセンジャー。 文字列(メッセージ)変数を持つモデルクラス(例:PageMessage)を作成します。 あなたは、uはこのようなメッセンジャーに登録する必要があり、ちょうどnewpage.xamlでこの
Messenger.Default.Send(new PageMessage{message="Hello World"});
のようなメッセージを送るhomepage.xamlで、その後、newpage.xamlするhomepage.xamlから文字列を渡したい
Messenger.Default.Register<PageMessage>(this, (action) => ReceiveMessage(action));
private object ReceiveMessage(PageMessage action)
{
string receivedMessage=action.message;
return null;
}
このように、MVVMアーキテクチャでもナビゲーションを渡すことができます。
のHy、
他のソリューションと何が必要に応じて、文字列型の1つの以上の特性を持つ静的クラスを作成するには、それはあなたが必要な場所、それが利用可能であることの方法を強化します。
- 1. Windows 8&Windows Phone 8
- 2. Windows Phone 8のページ間で文字列以外のパラメータを渡すにはどうすればよいですか?
- 3. イメージデータバッファをWindows Phone上のWindowsランタイムに渡す8
- 4. IsolatedStorage Windows phone 8
- 5. Windows Phone 8タイルサイズ?
- 6. Monogame on Windows Phone 8間違ったバックバッファサイズ
- 7. Windows phone 7でXML文字列を解析するには?
- 8. Windows Phone 8 - プライベートAPI?
- 9. Windows phone 8 performance progressbar
- 10. バーコードスキャンのWindows Phone 8
- 11. Windows Phone 8 Webbrowserコントロール
- 12. Libgdx for Windows Phone 8
- 13. Windows Phone 8エミュレータ:ローカルホストにアクセス
- 14. クエリ文字列を404ページに渡す
- 15. Windows Phoneで文字列を解凍する
- 16. Windows phone 8.1文字列ストリームのリストを作成するには?
- 17. Windows Phone 7のユーザーエージェント文字列を取得するには?
- 18. ボイドの間に文字列を渡す
- 19. フォーム間に文字列を渡す
- 20. NETFX_COREがWindows 8の場合、Windows Phone 8は何ですか?
- 21. Windows Phone 8 GeoCoordinateWatcherとGeolocator
- 22. Titanium Windows Phone 8 SDKのドキュメント
- 23. Windows Phone 8 Panorama SelectionChanged&Databinding
- 24. Windows Phone 8のUDPマルチキャストグループ
- 25. Windows Phone 8ネットワーク情報
- 26. WindowsのIPアドレスphone 8
- 27. OCR with Windows Phone 8 WP8
- 28. Windows Phone 8 - MVVM ViewModelsとApp.xaml.cs
- 29. Windows phoneダウンロードsdk 8オフライン
- 30. Windows Phone 8 Accelerometerのイベント
http://developer.nokia.com/Community/Wiki/Passing_parameters_while_navigating_between_pages_on_Windows_Phone – YK1
@Erikどの回答があなたにとって最適であったかを忘れずにチェックしてください。将来の人々はこれを見つけることができます。 –