1

Silverlight アプリケーションがあり、ハードコードされた C# ではなく、ウィザードの各ステップを XAML ファイルで作成しようとしています。

問題は、各画面の次へのボタンをクリックした後、それらを切り替える方法がわからないことです。

これを行う最善の方法は何ですか?動的にロードされる XAML についてインターネットでいくつかのチュートリアルを見ましたが、どれも私とはうまくいかないようです :/

4

2 に答える 2

1

ChildWindow を親ウィンドウとして使用します。次に、親ウィンドウのコンテンツでフレーム化される複数の UserControls を作成します。親ウィンドウのコード ビハインドで、ユーザー コントロールをリストに読み込み、最初のコントロールを除くすべてのコントロールの可視性を「折りたたみ」に設定します。ユーザーが [次へ] または [前へ] ボタンを押すと、適切な UserControl がリストからプルされ (現在のインデックスを追跡します)、現在のコントロールを [折りたたみ] にして [表示] にします。

ナビゲーション コードはすべて親ウィンドウに配置されますが、親ウィンドウはウィザード ステップ自体の内容を気にしません。

各 UserControl は XAML で個別のコントロールとしてコーディングできるため、ウィザードのナビゲーション ロジックからコントロールを分離したまま維持できます。

次に、さまざまなウィザード コントロールのすべてのオプションを保持するクラス タイプを作成できます。更新する各コントロールにオブジェクト インスタンスへの参照を渡します。ウィザードの最後に到達すると、オプション オブジェクトはすべてのウィザード ステップの状態を維持する必要があり、親ウィンドウはそれをアプリケーションに返すことができます。

于 2012-05-18T15:46:08.257 に答える
1

Silverlight Navigation Frameworkを調べることをお勧めします。「url」を使用して「ページ」(XAML ユーザー コントロール) 間を移動できます。また、ユーザーはブラウザーの前後のボタンを使用することもできますが、これは許可したい場合とそうでない場合があります。

[新しいプロジェクト]、[Silverlight]、[Silverlight Navigation Application] を選択すると、開始に役立つ VS 2010 テンプレートがあります。

于 2012-05-18T16:17:24.223 に答える