/// <summary> /// Initializes a new instance of the <see cref="AutoComplete"/> class. /// </summary> public AutoComplete( Control value ) { InitializeComponent(); this.controlUnderAutocomplete = ControlUnderAutoComplete.Create( value ); this.viewSource = controlUnderAutocomplete.GetViewSource( ( Style )this[ this.controlUnderAutocomplete.StyleKey ] ); this.viewSource.Filter += OnCollectionViewSourceFilter; this.controlUnderAutocomplete.Control.SetValue( Control.StyleProperty, this[ this.controlUnderAutocomplete.StyleKey ] ); this.controlUnderAutocomplete.Control.ApplyTemplate(); this.autoCompletePopup = ( Popup )this.controlUnderAutocomplete.Control.Template.FindName( "autoCompletePopup", this.controlUnderAutocomplete.Control ); this._listBox = ( ListBox )this.controlUnderAutocomplete.Control.Template.FindName( "autoCompleteListBox", this.controlUnderAutocomplete.Control ); var b = new Binding( "ActualWidth" ) { UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged, Source = this.controlUnderAutocomplete.Control }; this.ListBox.SetBinding( ListBox.MinWidthProperty, b ); this.ListBox.PreviewMouseDown += OnListBoxPreviewMouseDown; this.controlUnderAutocomplete.Control.AddHandler( TextBox.TextChangedEvent, new TextChangedEventHandler( OnTextBoxTextChanged ) ); this.controlUnderAutocomplete.Control.LostFocus += OnTextBoxLostFocus; this.controlUnderAutocomplete.Control.PreviewKeyUp += OnTextBoxPreviewKeyUp; this.controlUnderAutocomplete.Control.PreviewKeyDown += OnTextBoxPreviewKeyDown; }
/// <summary> /// Initializes a new instance of the <see cref="AutoComplete"/> class. /// </summary> public AutoComplete(Control value) { InitializeComponent(); this.controlUnderAutocomplete = ControlUnderAutoComplete.Create(value); this.viewSource = controlUnderAutocomplete.GetViewSource(( Style )this[this.controlUnderAutocomplete.StyleKey]); this.viewSource.Filter += OnCollectionViewSourceFilter; this.controlUnderAutocomplete.Control.SetValue(Control.StyleProperty, this[this.controlUnderAutocomplete.StyleKey]); this.controlUnderAutocomplete.Control.ApplyTemplate(); this.autoCompletePopup = ( Popup )this.controlUnderAutocomplete.Control.Template.FindName("autoCompletePopup", this.controlUnderAutocomplete.Control); this._listBox = ( ListBox )this.controlUnderAutocomplete.Control.Template.FindName("autoCompleteListBox", this.controlUnderAutocomplete.Control); var b = new Binding("ActualWidth") { UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged, Source = this.controlUnderAutocomplete.Control }; this.ListBox.SetBinding(ListBox.MinWidthProperty, b); this.ListBox.PreviewMouseDown += OnListBoxPreviewMouseDown; this.controlUnderAutocomplete.Control.AddHandler(TextBox.TextChangedEvent, new TextChangedEventHandler(OnTextBoxTextChanged)); this.controlUnderAutocomplete.Control.LostFocus += OnTextBoxLostFocus; this.controlUnderAutocomplete.Control.PreviewKeyUp += OnTextBoxPreviewKeyUp; this.controlUnderAutocomplete.Control.PreviewKeyDown += OnTextBoxPreviewKeyDown; }