【WPF】フォルダ選択ダイアログを表示して複数のCSVファイルを読み込む

2018年7月18日C#, 開発

おはようございます。

WPFでは、Windowsフォームと違い
デフォルトでフォルダ選択のコントロールがないようです。

いくつか方法はあるようですが、
今回は 「Microsoft.WindowsAPICodePack」というライブラリを使って
実装してみたいと思います。

いつも通り、前回までのプログラムを流用します。

スポンサーリンク

画面の変更

画面にフォルダ参照ボタンを追加します。

MainWindow.xaml

追加ライブラリ

Nugetで次のライブラリを参照に追加します。

 

Coreパッケージ

NuGetパッケージ管理
NuGetパッケージ管理

ソリューションエクスプローラーから「参照」>「NuGet パッケージの管理」を選択します。

インストール
インストール

WindowsAPICodePack と入力しパッケージを絞り込み、
表示されたリストから「Microsoft.WIndowsAPICodePack.Core」を選択、
「インストール」ボタンをクリックします。

プレビュー画面
プレビュー画面

プレビュー画面が表示された場合は、「OK」ボタンをクリックします。

出力画面
出力画面

出力ビューに「終了」が出力されれば完了。

Shellパッケージ

NuGetパッケージ管理
NuGetパッケージ管理

Coreパッケージと同様、NuGet パッケージの管理画面にて
絞込表示されたリストから「Microsoft.WindowsAPICodePack.Shell」を選択
「インストール」ボタンをクリックします。

プレビュー画面
プレビュー画面

プレビュー画面が表示された場合は「OK」ボタンをクリックします。

出力画面
出力画面

出力ビューに「終了」が出力されれば完了です。

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

インストールしたライブラリを使用するための宣言を追記します。

MainWindow.xaml.cs

 

処理の追加

複数ファイル読み込み処理

MainWindow.xaml.cs

 

ボタンクリックイベント処理

MainWindow.xaml.cs

 

CSVファイルの作成

cat1.csv

cat2.csv

実行してみる

初期画面
初期画面

アプリケーションを起動し、「フォルダ選択」ボタンをクリックします。

フォルダ選択ダイアログ
フォルダ選択ダイアログ

フォルダ選択ダイアログが表示されるので、
作成したCSVが格納されているフォルダ―を選択し、「フォルダ―の選択」ボタンをクリックします。

完了ダイアログ
完了ダイアログ

読込が無事に終了しました。

検索結果
検索結果

追加したデータが画面に表示されることを確認。

まとめ

今回紹介した「WindowsAPICodePack」は、
他にもいろいろなことが出来るようなのでそのうち試してみたいと思います。

ではでは。

スポンサーリンク


関連するコンテンツ