Basic Library for WPF/Silverlight
ファイルフィルタを追加する
製品の概要 > FilePicker > FilePicker の機能 > ファイルフィルタを追加する

ユーザーが実行時に[参照]ボタンをクリックしたり OpenFileDialog ダイアログボックスを開いた場合、通常は開くファイルの種類を自由に選択できます。このとき、OpenFileDialog ダイアログボックスにフィルタオプションは表示されません。ユーザーに対して表示され、OpenFileDialog ダイアログボックスで選択できるファイルの種類を制限したい場合があります。たとえば、画像ファイルや特定のドキュメントタイプのみを選択できるようにする場合です。ユーザーが選択できるファイルの種類をカスタマイズするには、Filter プロパティを特定のフィルタに設定します。

基本的な使用方法では、OpenFileDialog ダイアログボックスでフィルタを適用すると、特定の拡張子を持つファイルのみを表示できます。Filter プロパティは、FileDialog.Filter プロパティと同様に機能します。Filter プロパティをフィルタ文字列に設定する必要があります。実装した各フィルタオプションのフィルタ文字列には、フィルタの説明に続いて縦棒(|)およびフィルタパターンが含まれています。異なるフィルタオプションの文字列は、縦棒で区切られています。

次に、フィルタ文字列の例を示します。

複数のフィルタパターンをフィルタに追加するには、次の例のように、ファイルの種類をセミコロンで区切ります。

FilterIndex プロパティを使用して、ユーザーに最初に表示するフィルタオプションを設定します。デフォルトでは、FilterIndex プロパティは「1」に設定されています。つまり、フィルタロジックに最初にリストされているフィルタが最初に表示されます。たとえば、前述の例のように、1つの画像フィルタとすべてのファイルのオプションを指定した場合、すべてのファイルのオプションを最初に表示する(フィルタを適用しないでダイアログボックスを表示する)には、FilterIndex プロパティを「2」に設定します。

たとえば、Filter プロパティをフィルタ画像ファイルに設定するには、Filter="画像ファイル(*.PNG;*.JPG;*.GIF)|*.PNG;*.JPG;*.GIF|すべてのファイル (*.*)|*.*" を <c1:C1FilePicker> タグに追加します。次のようになります。

XAML
コードのコピー
<c1:C1FilePicker HorizontalAlignment="Left" Margin="112,36,0,0" Name="C1FilePicker1" VerticalAlignment="Top" Width="161" Filter="画像ファイル(*.PNG;*.JPG;*.GIF)|*.PNG;*.JPG;*.GIF|すべてのファイル (*.*)|*.*" />

たとえば、Filter プロパティをフィルタ画像ファイルに設定するには、プロジェクトに次のコードを追加します。

Visual Basic
コードのコピー
Me.C1FilePicker1.Filter = "画像ファイル(*.BMP;*.JPG;*.GIF)|*.PNG;*.JPG;*.GIF|すべてのファイル (*.*)
C#
コードのコピー
this.c1FilePicker1.Filter = "画像ファイル(*.BMP;*.JPG;*.GIF)|*.PNG;*.JPG;*.GIF|すべてのファイル (*.*)

設計時に、Filter プロパティをフィルタ画像ファイルに設定するには、次の手順に従います。

  1. C1FilePicker コントロールをクリックして選択します。
  2. [プロパティ]ウィンドウに移動し、[フィルタ]項目を探します。
  3. [フィルタ]項目の横にあるテキストボックスに、「画像ファイル(*.PNG;*.JPG;*.GIF)|*.PNG;*.JPG;*.GIF|すべてのファイル (*.*)|*.*」と入力します。

フィルタが OpenFileDialog ダイアログボックスに適用されます。アプリケーションを実行して、C1FilePicker コントロールの[参照]ボタンをクリックします。フィルタが適用され、拡張子が PNG、JPG、または GIF であるファイルのみがダイアログボックスに表示されることを確認します。