Silverlight アプリケーションがあり、ハードコードされた C# ではなく、ウィザードの各ステップを XAML ファイルで作成しようとしています。
問題は、各画面の次へのボタンをクリックした後、それらを切り替える方法がわからないことです。
これを行う最善の方法は何ですか?動的にロードされる XAML についてインターネットでいくつかのチュートリアルを見ましたが、どれも私とはうまくいかないようです :/
Silverlight アプリケーションがあり、ハードコードされた C# ではなく、ウィザードの各ステップを XAML ファイルで作成しようとしています。
問題は、各画面の次へのボタンをクリックした後、それらを切り替える方法がわからないことです。
これを行う最善の方法は何ですか?動的にロードされる XAML についてインターネットでいくつかのチュートリアルを見ましたが、どれも私とはうまくいかないようです :/
ChildWindow を親ウィンドウとして使用します。次に、親ウィンドウのコンテンツでフレーム化される複数の UserControls を作成します。親ウィンドウのコード ビハインドで、ユーザー コントロールをリストに読み込み、最初のコントロールを除くすべてのコントロールの可視性を「折りたたみ」に設定します。ユーザーが [次へ] または [前へ] ボタンを押すと、適切な UserControl がリストからプルされ (現在のインデックスを追跡します)、現在のコントロールを [折りたたみ] にして [表示] にします。
ナビゲーション コードはすべて親ウィンドウに配置されますが、親ウィンドウはウィザード ステップ自体の内容を気にしません。
各 UserControl は XAML で個別のコントロールとしてコーディングできるため、ウィザードのナビゲーション ロジックからコントロールを分離したまま維持できます。
次に、さまざまなウィザード コントロールのすべてのオプションを保持するクラス タイプを作成できます。更新する各コントロールにオブジェクト インスタンスへの参照を渡します。ウィザードの最後に到達すると、オプション オブジェクトはすべてのウィザード ステップの状態を維持する必要があり、親ウィンドウはそれをアプリケーションに返すことができます。
Silverlight Navigation Frameworkを調べることをお勧めします。「url」を使用して「ページ」(XAML ユーザー コントロール) 間を移動できます。また、ユーザーはブラウザーの前後のボタンを使用することもできますが、これは許可したい場合とそうでない場合があります。
[新しいプロジェクト]、[Silverlight]、[Silverlight Navigation Application] を選択すると、開始に役立つ VS 2010 テンプレートがあります。