WPF では、標準でウィザードを作成することはできず、Win32API を利用するなどの必要があります
しかし、WPF では「ナビゲーション」や「ページ」といった機能があるため、これらを利用して簡単なウィザードを作成することができます
ページを利用して再利用可能な UI を作成する方法としては、
1.Window の代わりに、直接 Page を呼び出す
2.Window 上に Frame を配置して、Frame に Page を表示する
3.PageFunction に Page を配置する
4.NavigationWindow に Page を配置する
など、いくつか方法があります
今回は、4.の NavigationWindow を利用した方法でウィザードを作成してみます
と思って、張り切って記事を書いていたら、複数の「cs」と「xaml」コードの「SyntaxHighlighter」を配置するとMovableTypeが勝手に「pre」タグを挿入してくるため、ブログの表示が崩れてうまく公開できません・・・
せっかく書いた記事をあきらめることに・・・
とりあえず、サンプルソースをくっつけてあとは簡単な説明だけにしますよ・・・
ちなみに完成形はこんな感じです
ページを複数用意し、「次へ」と「戻る」ボタンを配置すれば簡単にウィザードの完成です
若干コードを書く必要はありますが、ページの差し替えも簡単です
さらに、ナビゲーションのバーを表示したくない場合は、「MainWindow.xaml.cs」の「this.Navigate( new Page1() )」の前に、「this.ShowsNavigationUI = false」を追加することで消すことができます
サンプルソースのポイントは、
・VisualStudio で WPF アプリケーションプロジェクトを作成します
・プロジェクトを作成したら、ファイルの追加で「ページ(WPF)」の「Page1.xaml」と「Page2.xaml」を追加しておきます
・「MainWindow.xaml」を開き、ルートの「Window」要素を「NavigationWindow」に書き換え、子要素の「Grid」以下をすべて削除します
・「MainWindow.xaml.cs」を開き、「MainWindow」クラスの基底クラスを「Window」から「NavigationWindow」に書き換えます
・「MainWindow」コンストラクタ内の「InitializeComponent()」を削除し、「Navigate( new Page1() )」を追加します
あとはサンプルソースを見ながら「Page1.xaml」と「Page2.xaml」にボタンを配置してコードを書いてください
ソースファイル
・NavigationWindow.zip ( VisualStudio2010、.net framework4 )
コメントを残す
コメントを投稿するにはログインしてください。