【WPF】ProgressRingを使って時間のかかる処理を分かりやすくする

2017年7月28日C#, 開発

おはようございます。

昨日に引き続き、Metro を使って画面変更を行います。

WEBなんかでよく見かける、処理中にローディング画像を表示するってのをやってみます。

重い処理なんかで、ローディング表示がない場合はユーザーが動いているのかどうか心配になり、挙句の果てに強制終了してしまったりしますので、大事ですよね。
体感速度も違ってきますし。

プログラムは前回のものを利用します。

スポンサーリンク

スタイルの追加

StyleDic.xaml

宣言の追加

スタイルの追加

画面の修正

MainWindow.xaml

抜粋

 

全体

 

プログラムの修正

ライブラリ使用宣言の追加

MainWindow.xaml.cs

抜粋

 

検索処理の修正

検索処理を、BackgroundWorkerを使って非同期処理として分離します。

MainWindow.xaml.cs

メソッドの修正

検索ボタンをクリックした際に、先ほど追加した非同期処理を呼び出すように修正します。

 

起動してみる


いい感じですね。

ローディング表示だけだと、処理中にボタンなんかが押せてしまうので図形をかぶせるようにしてみました。

まとめ

簡単な(画面の少ない)アプリであればこんな方法でも十分かなと思います。

ソースはこちら

GitHub

ではでは。

 

スポンサーリンク


関連するコンテンツ

2017年7月28日C#, 開発C#, WPF, プログラミング

Posted by doradora