private static void OnFilterModePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
AutoCompleteBox source = d as AutoCompleteBox;
AutoCompleteFilterMode mode = (AutoCompleteFilterMode)e.NewValue;
if(mode != AutoCompleteFilterMode.Contains &&
mode != AutoCompleteFilterMode.ContainsCaseSensitive &&
mode != AutoCompleteFilterMode.ContainsOrdinal &&
mode != AutoCompleteFilterMode.ContainsOrdinalCaseSensitive &&
mode != AutoCompleteFilterMode.Custom &&
mode != AutoCompleteFilterMode.Equals &&
mode != AutoCompleteFilterMode.EqualsCaseSensitive &&
mode != AutoCompleteFilterMode.EqualsOrdinal &&
mode != AutoCompleteFilterMode.EqualsOrdinalCaseSensitive &&
mode != AutoCompleteFilterMode.None &&
mode != AutoCompleteFilterMode.StartsWith &&
mode != AutoCompleteFilterMode.StartsWithCaseSensitive &&
mode != AutoCompleteFilterMode.StartsWithOrdinal &&
mode != AutoCompleteFilterMode.StartsWithOrdinalCaseSensitive)
{
if(source != null)
{
source.SetValue(e.Property, e.OldValue);
}
// ReSharper disable once NotResolvedInText
throw new ArgumentException(Dev2.Runtime.Configuration.Properties.Resources.AutoComplete_OnFilterModePropertyChanged_InvalidValue, "value");
}
// Sets the filter predicate for the new value
AutoCompleteFilterMode newValue = (AutoCompleteFilterMode)e.NewValue;
if(source != null)
{
source.TextFilter = AutoCompleteSearch.GetFilter(newValue);
}
}
#endregion public AutoCompleteFilterMode FilterMode