astel-labs.net

C#などのプログラミングTipsや雑記をつらつらと書くかもしれないブログです。

  • Home
RSS

WPFで簡単なウィザードを作成する

Posted on 2010年6月29日 by Nymphaea
No CommentsLeave a comment

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 )

Categories: C#, WPF, プログラミング

 

C#でZip圧縮形式ファイルの操作
WPF – LinkLabelの作成

コメントを残す

コメントを投稿するにはログインしてください。

  • 2010年6月
    日 月 火 水 木 金 土
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  
    « 5月   7月 »
  • 最近の投稿

    • raspberry pi に nginx をセットアップする
    • VSCode を日本語化する
    • raspberry pi に VSCode をインストールする
    • WindowsのプロダクトIDを取得する
    • SQL Server – money型とdecimal型を併用した金額計算
  • アーカイブ

    • 2020年3月
    • 2016年12月
    • 2014年6月
    • 2014年5月
    • 2013年7月
    • 2012年11月
    • 2012年7月
    • 2012年5月
    • 2012年4月
    • 2011年4月
    • 2011年1月
    • 2010年11月
    • 2010年10月
    • 2010年9月
    • 2010年8月
    • 2010年7月
    • 2010年6月
    • 2010年5月
    • 2010年4月
  • カテゴリー

    • C#
    • jQuery
    • OpenCV
    • raspberry pi
    • SharePoint
    • Silverlight
    • SQL Server
    • WCF
    • WPF
    • プログラミング
    • 未分類
    • 雑記
© astel-labs.net. Proudly Powered by WordPress | Nest Theme by YChong

このブログ内で公開されているソースコードおよびサンプルプログラムに関わるライセンスはすべて修正BSDライセンス(New BSD License)として公開しています。
但し、サンプルプログラムに含まれる外部アセンブリが同様のライセンスとは限りませんので、利用する前に必ずすべてのライセンスの確認を行ってください。