private static void textChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { AutoCompleteBoxView view = (AutoCompleteBoxView)d; String text = (String)e.NewValue; if (!String.IsNullOrEmpty(text)) { view.findSuggestions(text); if (view.Suggestions.Count > 0) { view.displaySuggestions(); foreach (Object suggestion in view.Suggestions) { if (text.Equals(suggestion.ToString())) { view.popup.IsOpen = false; view.SelectedItem = suggestion; return; } } } } else { view.popup.IsOpen = false; } view.SelectedItem = null; }
private static void selectedItemChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { AutoCompleteBoxView view = (AutoCompleteBoxView)d; Object item = e.NewValue; if (item != null) { view.Text = item.ToString(); } view.autoCompleteTextBox.Focus(); view.autoCompleteTextBox.CaretIndex = view.Text.Length; }