[WPF/Silverlight] フィルター処理方法を設定する

スポンサーリンク

FileterMode プロパティを使用すると、ドロップダウンに表示される項目のフィルター方法を設定することができます。

FilterMode プロパティ(下記参照)には AutoCompleteFilterMode 列挙体を指定します。既定値は StartsWith です。

AutoCompleteFilterMode 列挙体
メンバ名説明
Noneフィルターを使用しない。
StartsWith指定された文字列で始まるものを取得する。大文字と小文字は区別しない。
StartsWithCaseSensitive指定された文字列で始まるものを取得する。大文字と小文字を区別する。
StartsWithOrdinal指定された文字列で始まるものを取得する。大文字と小文字を区別しない序数フィルター。
StartsWithOrdinalCaseSensitive指定された文字列で始まるものを取得する。大文字と小文字を区別する序数フィルター。
Contains指定された文字列が含まれるものを取得する。大文字と小文字は区別しない。
ContainsCaseSensitive指定された文字列が含まれるものを取得する。大文字と小文字を区別する
ContainsOrdinal指定された文字列が含まれるものを取得する。大文字と小文字を区別しない序数フィルター。
ContainsOrdinalCaseSensitive指定された文字列が含まれるものを取得する。大文字と小文字を区別する。序数フィルター。
Equals指定された文字列と一致するものを取得する。大文字と小文字は区別しない。
EqualsCaseSensitive指定された文字列と一致するものを取得する。大文字と小文字を区別する。
EqualsOrdinal指定された文字列と一致するものを取得する。大文字と小文字を区別する序数フィルター。
EqualsOrdinalCaseSensitive指定された文字列と一致するものを取得する。大文字と小文字を区別する。序数フィルター。
Customカスタムフィルター。独自のフィルターを指定できる。

下記はFilterMode プロパティに Contains を設定する例です。

テキストボックスに”ra”と入力すると、”ra”という文字列が含まれるフルーツが表示されます。

FilterModeをContainsに設定したレ例

 

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;
}
スポンサーリンク
スポンサーリンク
スポンサーリンク
HIROs.NET Blog
タイトルとURLをコピーしました