void LaunchTask() { if (textBox.Text.Length > 5) { string searchString = textBox.Text.Trim(); if (!string.Equals(_lastCheck, searchString, StringComparison.InvariantCultureIgnoreCase)) { _lastCheck = searchString; if (null != _executeTask) { _executeTask.Cancel(); _executeTask = null; } listBox.Visibility = System.Windows.Visibility.Collapsed; loadingLabel.Visibility = System.Windows.Visibility.Visible; loadingLabel.Text = "Loading Results..."; _executeTask = new AsyncTask(this.Dispatcher, () => WaitXSeconds(1), (ex) => GetMatchingAddress(ex)); _executeTask.Execute(); } } }