2012年10月30日

WPFサンプル:ProgressBar (BackgroundWorker使用)

   このエントリーをはてなブックマークに追加 Clip to Evernote
これまで、「WPFサンプル」では、C#のまともなコードを載せていませんでしたが、
やっとC#のコードが活躍するサンプルにたどり着きました。
今日は、進行状況を示すProgressBarのサンプルです。
今回のサンプルでは、バックグランド処理に、BackgroundWorkerクラスを使っています。

※ .NET Framework4 から導入されたTask クラスを使ったサンプルもそのうち示したいと思います。

ProgressBarは、2つ用意し、IsIndeterminate = false と trueの2つの動きが分かるようにしました。

非同期処理のために、BackgroundWorkerをラップした独自クラスを定義して、非同期処理を書いています。キャンセル処理も可能です。
RunAsyncメソッドでは、2つの引数(Action<>デリゲート)があり、一つは、処理中のGUI処理を記述し、
2つめの引数では、終了処理を記述します。isCancelで途中で終了したかどうかが分かります。

WPFSampleProgressBar1



  

Posted by gushwell at 22:30Comments(0)TrackBack(0)

2012年10月28日

WPFサンプル:ViewBox

   このエントリーをはてなブックマークに追加 Clip to Evernote
ViewBoxは、子要素をViewBoxのサイズに合わせて伸縮させることができます。
以下のサンプルプログラムの実行例です。

WPFViewBox1

WPFViewBox2

WPFViewBox3

このサンプルでは、WindowsをGridで上下2つに分割し、Splitterでサイズを変更できるように
しています。下の領域にViewBoxを配置し、コントロールを配置します。なお、ViewBoxの
子要素は一つだけなので、StackPanelを子要素とし、その中に複数のコントロールを配置
しています。

実際に拡縮されたコントロールが動作するか確認できるように、Button のクリックイベント時の コードを書いています。

Windowsの子要素として、ViewBoxを配置すれば、ウィンドウサイズに追随してコントロールのサイズを調整する動作が簡単に実現できます。



  
Posted by gushwell at 22:30Comments(0)TrackBack(0)

2012年10月25日

WPFサンプル:ToolTip

   このエントリーをはてなブックマークに追加 Clip to Evernote
ToolTipのサンプルです。
ToolTipは、マウスポインターをコントロール上に移動したときに、
そのコントロールの目的の簡単な説明を表示する、ポップアップ ウィンドウのことです。
この例のように、テキスト以外を表示することも比較的簡単に(コードを書かずに)実現できます。

WPFToolTip1

WPFToolTip2


  
Posted by gushwell at 22:00Comments(0)TrackBack(0)

2012年10月23日

WPFサンプル:Slider

   このエントリーをはてなブックマークに追加 Clip to Evernote
Sliderコントロールのサンプルです。

WPFSlider2

WPFSlider


Sliderの値を、TextBoxのTextと、FontSizeにバインドしています。
XAMLだけで実現しています。

Minmam,Maximumプロパティは、Sliderの最小値、最大値を設定します。

Orientationプロパティは、Sliderを水平、垂直どちらの形状かを指定します。規定値は、"Horizontal"です。

IsDirectionReversedプロパティは、Slider の値を増加させる方向が決定します。
水平スライダーで左方向の場合、または垂直スライダーで下方向の場合は trueです。

TickPlacementプロパティは、Slider のグリッドを配置する方法を指定します。
None, TopLeft, ButomRight,Bothの4つがあります。

TickFrequency プロパティは、目盛りの間隔を設定します。

IsSnapToTickEnabledプロパティは、trueにすると、つまみの位置がグリッドと合うようになります。falseだと無段階に値を変化させることができます。

IsMoveToPointEnabledプロパティをtrueにすると、マウス クリックの位置につまみがすばやく移動します。
falseの場合、SmallChange プロパティで定義されている距離だけ移動します。

AutoToolTipPlacement プロパティは、つまみが押されたときに、現在の値をツールヒントとして表示するかどうかを指定します。

AutoToolTipPrecision プロパティは、つまみの値をツールヒント内で表示する際、小数点の右側に表示される桁数を指定します。

  
Posted by gushwell at 22:03Comments(0)TrackBack(0)

2012年10月21日

WPFサンプル:Menu

   このエントリーをはてなブックマークに追加 Clip to Evernote
Menuのサンプルです。

この例では、MenuItemとSeparatorを配置しましたが、Button、CheckBox, なども配置できます。


WPFMenu1

WPFMenu2

WPFMenu3




コピー&ペーストは、上記XAMLのようにCommandを指定することで、C#のコードを 書かなくても、実現できます。

  
Posted by gushwell at 22:30Comments(0)TrackBack(0)

2012年10月18日

WPFサンプル:RitchTextBox

   このエントリーをはてなブックマークに追加 Clip to Evernote
RitchTextBoxのサンプルです。

RitchTextBoxのコンテンツは、FlowDocumentオブジェクトで、FlowDocumentオブジェクトは、
複数のBlockを持つことが出来ます。
このサンプルで使用しているParagraphは、Blockの派生クラスです。


WPFRitchTextBox

  
Posted by gushwell at 22:02Comments(0)TrackBack(0)

2012年10月17日

ファイル検索ツールEverything最高です。

   このエントリーをはてなブックマークに追加 Clip to Evernote
あのファイルどこにあったかなと、ファイルを検索する場合、エクスプローラの
検索機能を使うわけですが、ファイル名の一部がわかっているときは、
このエクスプローラの検索機能はオーバースペックでかつ動作も遅いので、
いつもストレスを感じながら使っていたのですが、
最高に良いソフトがありました。

「Everithing」http://www.voidtools.com/

Everything


ファイル名、フォルダ名をデータベース化しているので、
検索が驚くほど速く、もう手放せなくなりそうです。

エクスプローラのコンテキストメニューに追加することもできるので、
特定のフォルダの下だけ検索したいという場合にも便利です。

まあ、もっとも、検索速度がめちゃくちゃ速いので、特定のフォルダだけを
検索する必要もないかも。


参考URL:
http://michisugara.jp/archives/2012/everything.html
http://freesoft.tvbok.com/freesoft/pc_system/everything.html
  
Posted by gushwell at 22:06Comments(0)TrackBack(0)

2012年10月16日

WPFサンプル:ToolBar

   このエントリーをはてなブックマークに追加 Clip to Evernote
ToolBarのサンプルです。
ToolBarTrayに2つのToolBarを配置しています。
2つ目のToolBarには、ToolBarPanelを配置しています。
ToolBarPanelが表示する幅が足りない場合には、2つ目の画面のように、
ToolBarPanel全体が隠れ、マウスクリックで表示さえるようになります。

WPFToolBar1


WPFToolBar2

  
Posted by gushwell at 21:10Comments(0)TrackBack(0)