:オブジェクトをSilverlightのページ間で渡すにはどうすればよいですか?例えば
NavigationService.Navigate(new Uri("/PlayerLost.xaml", UriKind.Relative));
私は、クエリ文字列を使用する必要はありません。 私はビューモデルについて聞いた... ありがとう。
:オブジェクトをSilverlightのページ間で渡すにはどうすればよいですか?例えば
NavigationService.Navigate(new Uri("/PlayerLost.xaml", UriKind.Relative));
私は、クエリ文字列を使用する必要はありません。 私はビューモデルについて聞いた... ありがとう。
:)
Views.MyView vw = new Views.MyView();
vw.MyParameter = ... ;
this.ContentFrame1.Content = vw;
それとも、グローバル変数を使用しますが、賢明にそれらを使用することができ後期の答えを、しかし:あなたのオブジェクトへのパブリックプロパティを公開し、ContentFrameにロードする前にそれを設定することができ、そのメソッドを使用して私も答えを見つけようとしていました。うまくいけば、これはあなたのために働くが、それはVBである。うまくいけば、それは十分に簡単です。 ITRSClassというクラスがあります。私のMainPage.xaml.vbでは、私が持っている:
Public Shared myClass As New ITRSClass
これはまた、例えば任意のオブジェクトまたは変数が考えられます。
Public Shared myString as New String = "My New String"
、その後、私は(私の場合で呼び出さ開く新しいページから
Dim mySharedClass = MainPage.myClass
か::
Dim mySharedString = MainPage.myString
Setup.xaml.vb)、私はこのような、そのオブジェクトまたは変数への参照を取得することができます
私の場合は、私のMainPageのListBoxをmy(Setup.xaml.vb)ページの結果に基づいて更新するために使用するクラスのObservableCollectionがあります。私はこれを学んだのはここ
は - より良い説明を:Dave Corun's Blog
静的なものは良い=) – Seva
オブジェクトを渡して、心の中でオブジェクトを渡すことにつながる可能性のある問題保つためには良い方法はありません - このフレームは、ブラウザに統合されている場合はは、 (デフォルトでは、ブラウザのバック/フォワードボタンがフレームと連動します)、ユーザのブラウザに表示されるURLが「/PlayerLost.xaml」で終わることを意味します。
そのURLがコピー/貼り付け(またはお気に入りが作成されたなど)、ユーザーがページに戻ると、移動したいオブジェクトはそこに表示されません(新しいアプリインスタンスなので)。
このような状態のクエリ文字列を使用する方がよいでしょう。なぜなら、状態はURLにあり、アプリケーションは通常の実行中やディープリンク経由で取得することができるからです。
渡す必要のあるデータが複雑すぎて、クエリ文字列が表現できない場合は、オブジェクトを「グローバル」のどこかに格納します(Applicationクラスにプロパティを追加するのが通常の方法です)結果のページからアクセスします。このページは、このデータが存在しない(復元のシナリオの場合)ように復元力がなければなりません。
+1静的戦略。 – Seva
私がしていることは非常に簡単です:(VBの例) app.xamlにあります。VBファイルは、ファイルを開いて、あなたが表示されます。
部分公開クラスのApp 継承アプリケーション
ただその後
のStringとして 部分公開クラスのApp 継承アプリケーション 公開共有wnameを追加します変数を使用するページは、app.wnameを呼び出すだけです。
完了!
ハッピーコーディング!
アーサー
私は方法は、あなたが – vodkhang