FileterMode プロパティを使用すると、ドロップダウンに表示される項目のフィルター方法を設定することができます。
FilterMode プロパティ(下記参照)には AutoCompleteFilterMode 列挙体を指定します。既定値は StartsWith です。
| メンバ名 | 説明 |
|---|---|
| None | フィルターを使用しない。 |
| StartsWith | 指定された文字列で始まるものを取得する。大文字と小文字は区別しない。 |
| StartsWithCaseSensitive | 指定された文字列で始まるものを取得する。大文字と小文字を区別する。 |
| StartsWithOrdinal | 指定された文字列で始まるものを取得する。大文字と小文字を区別しない序数フィルター。 |
| StartsWithOrdinalCaseSensitive | 指定された文字列で始まるものを取得する。大文字と小文字を区別する序数フィルター。 |
| Contains | 指定された文字列が含まれるものを取得する。大文字と小文字は区別しない。 |
| ContainsCaseSensitive | 指定された文字列が含まれるものを取得する。大文字と小文字を区別する |
| ContainsOrdinal | 指定された文字列が含まれるものを取得する。大文字と小文字を区別しない序数フィルター。 |
| ContainsOrdinalCaseSensitive | 指定された文字列が含まれるものを取得する。大文字と小文字を区別する。序数フィルター。 |
| Equals | 指定された文字列と一致するものを取得する。大文字と小文字は区別しない。 |
| EqualsCaseSensitive | 指定された文字列と一致するものを取得する。大文字と小文字を区別する。 |
| EqualsOrdinal | 指定された文字列と一致するものを取得する。大文字と小文字を区別する序数フィルター。 |
| EqualsOrdinalCaseSensitive | 指定された文字列と一致するものを取得する。大文字と小文字を区別する。序数フィルター。 |
| Custom | カスタムフィルター。独自のフィルターを指定できる。 |
下記はFilterMode プロパティに Contains を設定する例です。
テキストボックスに”ra”と入力すると、”ra”という文字列が含まれるフルーツが表示されます。
XAMLの例
<sdk:AutoCompleteBox Height="28" Name="fruitsACB" Width="221" IsTextCompletionEnabled="True" FilterMode="Contains" />
VBの例
Public Sub New()
InitializeComponent()
'データソースの設定
fruitsACB.ItemsSource = GetItemSource()
'FlterModeにContainsを設定する
fruitsACB.FilterMode = AutoCompleteFilterMode.Contains
End Sub
''' <summary>
''' データソースを取得する
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function GetItemSource() As List(Of String)
Dim fruits As New List(Of String)
fruits.Add("Orange")
fruits.Add("Grapes")
fruits.Add("Pineapple")
fruits.Add("Watermelon")
fruits.Add("Strawberry")
fruits.Add("Lemon")
fruits.Add("Mandarin")
fruits.Add("Lime")
fruits.Add("Peach")
fruits.Add("Loquat")
Return fruits
End Function
C#の例
public Page5()
{
InitializeComponent();
// データソースの設定
fruitsACB.ItemsSource = GetItemSource();
// FlterModeにContainsを設定する
fruitsACB.FilterMode = AutoCompleteFilterMode.Contains;
}
/// <summary>
/// データソースを取得する
/// </summary>
/// <returns></returns>
private List<string> GetItemSource()
{
List<string> fruits = new List<string>();
fruits.Add("Orange");
fruits.Add("Grapes");
fruits.Add("Pineapple");
fruits.Add("Watermelon");
fruits.Add("Strawberry");
fruits.Add("Lemon");
fruits.Add("Mandarin");
fruits.Add("Lime");
fruits.Add("Peach");
fruits.Add("Loquat");
return fruits;
}
